我需要更改文章created_at,因爲我發送短信根據created_at在這個月創建的帖子。當我嘗試這個created_at不會改變價值!Laravel雄辯更新created_at值
public function Controller(Posts $post){
$post->update(['created_at'=>Carbon::today()]);
}
我需要更改文章created_at,因爲我發送短信根據created_at在這個月創建的帖子。當我嘗試這個created_at不會改變價值!Laravel雄辯更新created_at值
public function Controller(Posts $post){
$post->update(['created_at'=>Carbon::today()]);
}
試試這個
public function Controller(Posts $post){
$post->created_at = Carbon::today();
$post->save(['timestamps' => false]);
}
created_at
通常不是mass assigned這樣。你可能需要將其添加到$fillable
屬性您Post
模型,例如:
protected $fillable = [...., 'created_at'];
注意,因爲別人指出,Carbon::today()
似乎並不像正確的事情來使用 - 它應該工作,但給你一個午夜的時間。如果你真的想要一個準確的時間戳,你可能想要Carbon::now()
。
Carbon::today()
實際上並沒有生成有效的時間戳。您需要使用Carbon::today()->toDateTimeString()
才能獲得有效的時間戳。
更新片段:
public function Controller(Posts $post){
$post->update(['created_at' => Carbon::today()->toDateTimeString()]);
}
['Carbon :: today()'](http://carbon.nesbot.com/docs/)確實會生成有效的時間戳。 –
好了,不說更新created_at - 例如嘗試' - > update('created_at',Carbon :: now())'或類似。 –
@JoelHinz不起作用 –