【发布时间】:2013-07-30 18:46:50
【问题描述】:
有谁知道是否可以进行以下操作:
假设我们有一个名为 User 的模型和一个名为 BestFriend 的模型。用户和最好的朋友之间的关系是 1:1。
我希望这些案例能够做这样的事情,同时改变我的城市和我朋友的城市。
$me = User::find(1);
$me->update(array(
'city' => 'amsterdam',
'bestfriend.city' => 'amsterdam'
));
所以基本上我想知道 Eloquent 是否足够聪明,能够理解基于数组键“bestfriend.city”的关系。
提前感谢您的帮助!
更新:
在 Laravel 论坛上找到了解决方案,但如果其他人正在寻找相同的东西,我也会将其发布在这里 :)
在你添加的模型中
// In your model...
public function setBestFriendArrayAttribute($values)
{
$this->bestfriend->update($values);
}
然后你可以这样称呼它
$me->update(array(
'city' => 'amsterdam',
'BestFriendArray' => array(
'city' => 'amsterdam'
)
));
像魅力一样工作!
【问题讨论】:
-
您可以发布您的更新作为对您问题的回答并接受它,而不是作为更新。
标签: laravel laravel-4 eloquent