Как задать значения полей по умолчанию в модели eloquent?

136
03 декабря 2019, 03:30

Есть ли возможность прямо внутри модели App\Post задать значения по умолчанию, например для поля user_id типа:

'user_id'=>auth()->user()->id;

чтобы при создании записи в таблицу автоматически заносилось id текущего пользователя и это не нужно было бы указывать в методе create?

Answer 1

Для этого есть событие модели 'creating', в котором ты можешь задать нужную логику, например

// пример с добавлением слушателя события в методе boot модели
// есть и другие способы слушания событий модели, подробнее в документации
class Post extends Model{
    public static function boot(){
        parent::boot();
        static::creating(function(Post $post){
            if(empty($post->user_id)){
                $post->user_id = auth()->id();
            }
        });
    }
}
READ ALSO
Выбор одного значения из клетки

Выбор одного значения из клетки

Как взять только одно значение из клетки у котороый всего 6 значений?

115
Записывать динамические переменные в mysql

Записывать динамические переменные в mysql

Ребята, помогите, пожалуйста, не могу найти инфо

134
Не работает функция explode

Не работает функция explode

У меня в таблице mysql(прикреплена картинка) есть такая колонка отвечающая за pSkill,в этой колонке в каждом ряду всегда 6 значений,попытался таким...

99