我有兩個模型'用戶'和'配置文件'。Laravel - 更新OneToOne關係
'email'字段位於User模型中,而'name'字段位於Profile模型中。
'profiles'表具有'user_id'的外鍵。
我搜索了很多,但無法找到一個適當的解決方案,我怎樣才能一次更新這兩個實體。
在我的ProfileController中,我正在這樣做,但我確信有更好的方法。請幫忙。
public function update($id)
{
$profile = Profile::where('id', $id);
$profile->name = 'Jon';
$profile->save();
$user = User::where('id', $profile->user_id);
$user->email = '[email protected]';
$user->save();
}
我的個人資料模型
public function user()
{
return $this->belongsTo('User');
}
我的用戶模型具有
public function profile()
{
return $this->hasOne('Profile');
}
那麼你可以使用數據庫觸發器。 – 2014-09-19 10:06:34
如果配置文件與用戶具有hasOne關係,並且您已經找到配置文件,則可以通過$ profile-> user獲取用戶;從哪個角度講,可以節省您另一個SQL查詢。 – Adimeus 2014-09-19 10:07:31
另一件事是一對一的關係在分開的表格中沒有多大意義。 – 2014-09-19 10:12:53