Model :: insert()不更新时间戳

时间:2014-08-01 20:11:43

标签: mysql laravel-4 timestamp

我在迁移(架构)和模型

中添加了时间戳
$table->timestamps();  //In the Schema

public $timestamps = true; //In the model

我创建了一个包含数据库所有字段的数组,并将其插入到数据库中。

Checkin::insert($input);

在表中,它会更新除updated_at,created_at时间戳

之外的所有字段

我有另一个(默认)模型用户,它会更新时间戳。在该模型中,我使用的是> save()方法

1 个答案:

答案 0 :(得分:3)

如果您希望设置时间戳,则应使用insert而不是create

Checkin::create($input);

您也可以

$checking = Checkin::create($input);

将为您提供刚刚创建的签到。

通过将字段添加到模型中,确保字段可填写:

protected $fillable = array(
    'name',
    'field_1',
    'field_2',
    ... // all the fields you want to be mass-assignable here
    );

此外,如果您使用的是Eloquent模型,则无需设置public $timestamps = true;,因为这是Laravel的默认设置。