@saybye720 實際上就是 _token 的問題沒錯,User表update沒錯是因為其更新流程和UserProfile不一樣:
User是繼承於Model,其update方法是
public function update(array $attributes = []){
if (! $this->exists) {
return false;
}
return $this->fill($attributes)->save();
}
重點在於fill($attributes)這個方法會檢查傳進去的值是否fillable,就是你在User Model裡設置的那些
但是,$user->UserProfile()回傳的是HasOne類型的Object,其更新方法太多層,就不詳述,不過裡面並沒有對你傳進去的$attributes進行過濾,所以不管你fillable打什麼,都不會對他造成影響,最後導致你傳進去的所有欄位都會被更新,自然_token也被當成需要更新的欄位,而UserProfile並沒有這欄位也就錯誤了。