我有以下型号
class PasswordResets extends Model
{
protected $table = 'password_resets';
protected $fillable = [
'token', 'email'
];
public function setUpdatedAt($value){
;
}//tried this but fails to work
}
我尝试使用函数setUpdatedAt
但仍然失败
我使用此模型的方式是
$passwordreset = PasswordResets::where('email', $user->email)->first();
if(!$passwordreset){
//insert user to password reset
$passwordreset = new PasswordResets();
$passwordreset->email = $user->email;
}
$passwordreset->token = sha1(time());
if($passwordreset->save()){
//send emails to user
}
基本上我试图找到一个用户是否存在于密码重置表中,否则添加一个新用户然后发送电子邮件。
每次尝试,我都会收到错误
未找到列:1054未知列' updated_at'
这是真的,因为我的表只包含列created_at
。
如何阻止updated_at
被填满?
答案 0 :(得分:2)
每次创建或编辑模型时,Laravel都会自动尝试设置created_at
和updated_at
字段。如果您不想使用该功能,请将其添加到您的模型中:
public $timestamps = false;
然后,您必须手动设置created_at
列。
要自动执行created_at
列,只需在迁移中使用默认值:
$table->timestamp('created_at')->default('CURRENT_TIMESTAMP');