Добавление двух созданных в одну вставку - PullRequest
0 голосов
/ 01 июля 2019

Я хочу добавить еще один столбец создал_ в столбцах базы данных для справки.

Я хочу, чтобы одновременно были созданы creat_at и creation_at1.

Вот что у меня в модели:

const CREATED_AT = 'created_at1';

protected $dates = [created_at, created_at1];

Но я получаю эту ошибку: поле «create_at» не имеет значения по умолчанию.

Ответы [ 2 ]

1 голос
/ 01 июля 2019

Вам не нужно добавлять приведение к create_at, поскольку Laravel уже сделал это для вас.

Вам необходимо добавить внутрь строки, как

protected $dates = ['created_at1']

Если вы хотите установитьcreate_at1 при создании новой модели вы можете добавить События модели .

Внутри вашей модели,

protected static function boot(){
    parent::boot();

    static::creating(function($model){
        $model->created_at1 = Carbon::now();
    });
}

Внутри контроллера

$model = Model::create([
    ...
    ]);

Теперь будут установлены созданные_открытые и созданные_кат1

Для вставки необходимо вручную сохранить значение в созданном_т1, поскольку оно не будет отражать событие модели.

Model::insert([
    ...
    'created_at1' => Carbon::now()
]);
0 голосов
/ 01 июля 2019

Возможно, вы не передаете значение в столбец created_at при вставке данных.Пожалуйста, проверьте.Если это не так, пожалуйста, предоставьте больше информации о вашей проблеме.

...