Laravel (5) — как использовать getKey () в манипуляторе модели при «создании»

Я пытаюсь создать новость и сохранить ее эскиз в месте, соответствующем его первичному ключу: $ This-> GETKEY. Это работает на Обновить так как ключ доступен, но на Создайте это не.

Я пользуюсь манипулятором setThumbnailImageAttribute для обработки загрузки файла:

public function setThumbnailImageAttribute($value) {
$this->setImage(
'thumbnail_image',
$value,
'news/'.$this->getKey().'/thumbnail_image/'
);
}

setImage обрабатывает загрузку и устанавливает правильное значение для атрибута (и, следовательно, базы данных)

На Обновить это результаты правильно в:

‘Новости / 1 / thumbnail_image /’

На Создайте это результаты неверно в:

‘Новости // thumbnail_image /’

Как я могу добиться этого с помощью мутатора, или есть другой подход?

0

Решение

Это не достижимо вашим подходом, да! Есть несколько неприятных хаков для этого. Но вы должны вручную вызвать этот метод после создания записи.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]