我想在数据库列上添加另一个created_at列以供参考。
我想同时拥有一个created_at和created_at1。
这是我的模型中的内容:
const CREATED_AT = 'created_at1';
protected $dates = [created_at, created_at1];
但是我收到此错误:字段'created_at'没有默认值。
答案 0 :(得分:1)
由于Laravel已经为您完成了此操作,因此您无需将铸造添加到created_at。
您需要在字符串之内添加
protected $dates = ['created_at1']
如果要在创建新模型时设置created_at1,则可以添加Model Events。
在模型内部,
protected static function boot(){
parent::boot();
static::creating(function($model){
$model->created_at1 = Carbon::now();
});
}
内部控制器
$model = Model::create([
...
]);
现在它将设置created_at和created_at1
对于插入,您必须手动将值保存到created_at1,因为它不会反映模型事件。
Model::insert([
...
'created_at1' => Carbon::now()
]);
答案 1 :(得分:0)
在插入数据时,您可能没有将值传递给created_at
列。请检查。如果不是这种情况,请提供有关您的问题的更多信息。