我需要更改一篇文章的创建时间(created_at),因为我要根据创建时间发送短信。但是当我尝试更改created_at的值时,它并没有改变。
public function Controller(Posts $post){
$post->update(['created_at'=>Carbon::today()]);
}
我需要更改一篇文章的创建时间(created_at),因为我要根据创建时间发送短信。但是当我尝试更改created_at的值时,它并没有改变。
public function Controller(Posts $post){
$post->update(['created_at'=>Carbon::today()]);
}
created_at
通常不像那样进行 批量赋值。你可能需要将其添加到 Post
模型的 $fillable
属性中,例如:
protected $fillable = [...., 'created_at'];
注意,正如其他人指出的那样,Carbon::today()
似乎不是正确的使用方式 - 它可以工作并提供有效的时间戳,但时间戳是指午夜。如果您真的想要实际更改时间,您可能需要使用 Carbon::now()
。public function Controller(Posts $post){
$post->created_at = Carbon::today();
$post->save(['timestamps' => false]);
}
Carbon::today()
并没有生成一个有效的时间戳。您需要使用Carbon::today()->toDateTimeString()
来获取一个有效的时间戳。
更新后的片段:
public function Controller(Posts $post){
$post->update(['created_at' => Carbon::today()->toDateTimeString()]);
}
->update('created_at', Carbon::now())
或类似的方法。 - Joel Hinz