A User
具有一個(或零)Company
,而Company
屬於一個且僅有一個User
。我嘗試爲用戶保存公司,但每次重新觸發保存方法時,都會在數據庫中添加一個新條目。這是一對一的關係,所以我通過save
方法User
。在Laravel中保存一對一關係
所以Company
有一個方法user()
:
public function user() {
return $this->belongsTo(User::class, 'user_id');
}
而且User
有一個方法company()
:
public function company() {
return $this->hasOne(Company::class, 'user_id');
}
我試圖挽救這樣的(所以創建或更新)用戶的公司(在控制器中):
$company = new Company();
$company->name = 'Test';
User::findOrFail(1)->company()->save($company);
我第一次運行這段代碼時,它會在數據庫中創建條目(OK),但第二次爲同一用戶添加一個新條目(不正確)。我認爲它只會更新數據庫條目。
這是Laravel中的故障(或者我不明白的事情)或我做錯了什麼?(我認爲並希望它的第二個目的)
檢查這個答案,它可以幫助你: http://stackoverflow.com/a/20764237/5122070 –
謝謝,但我不知道它確實有助於爲這個特殊的問題。我的問題更具體。這是關於直接保存(創建或更新) –