Laravel在插入新记录时在created_at和updated_at中放置null

时间:2016-03-01 06:49:27

标签: laravel null

我不知道为什么,但是当我想插入一些东西时:

users::insert([
    'first_name' => $first_name,
    'last_name' => $last_name,
    'remember_token' => $remember_token,
]);

它只是在created_at和updated_at列中插入NULL。 我试过这些:

'create_at' => time(),
'updated_at' => time(),

'create_at' => '',
'updated_at' => '',

'create_at' => TRUE,
'updated_at' => TRUE,

但他们都没有工作,但只是TRUE把0000-00-00 00:00:00。

2 个答案:

答案 0 :(得分:1)

只有在您使用Eloquent时才会自动分配时间戳列(created_at和updated_at):

$user = new \App\User;
$user->first_name = $first_name;
$user->last_name = $last_name;
$user->save();

使用查询构建器时,您必须自己created_atupdated_at值:

DB::table('users')->insert([
    'first_name' => $first_name,
    'last_name' => $last_name,
    'created_at' => \Carbon\Carbon::now(),
    'updated_at' => \Carbon\Carbon::now(),
]);

希望这能解决您的问题。

答案 1 :(得分:1)

在模型中,您应该添加此代码,

public $timestamps = true;

created_at和updated_at将自动更新