Это не в миграцию, а в модель
Это виртуальные столбы хранимые. Это в миграцию можно )
https://laravel.com/docs/9.x/migrations#column-modifiers Смотри в сторону virtualAs и generatedAs, storedAs
С базой по разному работают, не через модели, эту штуку нужно на откуп базы отдать
Я к сожалению не осведомлен об архитектуре Вашего проекта. Субъективно, если выбирать что проще: редактировать что-то на уровне модели или делать миграцию, я выберу модель. В каком-то смысле какие-то генерации данных не из PHP это "отсутствие контроля над бизнес-логикой на уровне приложения". Если посмотреть на то, что Вы пытаетесь сделать, то запись поля slug потерпит фиаско, т.к. нет еще в БД никаких name и created_at атрибутов. Они появятся только после записи данных в таблицу.
А вот метод beforeCreate() дает доступ к модели до ее сохранения, соответственно есть name. Но тут проблема с created_at ) Его по идее еще не будет, равно как и id, если это AI поле из БД
Так это миграция для создания таблички :)
Виртуальные столбцы хорошая штука не ругайся )
это какой-то аналог view для MySQL? )
Скорее аналог before/after save на уровне строки бд )
Обсуждают сегодня