gpt4 book ai didi

laravel - 如何更新 Laravel 4 中现有的 Eloquent 关系?

转载 作者:行者123 更新时间:2023-12-03 21:04:15 25 4
gpt4 key购买 nike

我正在尝试更新 Laravel 中一对多关系的关系。不幸的是,我找不到任何相关文档。谁能帮我?

这是我到目前为止:

class Account extends Eloquent 
{
public function users()
{
return $this->hasMany('User');
}
}

class User extends Eloquent
{
public function account()
{
return $this->belongsTo('Account');
}
}

现在我正在尝试将关系从 USER(1) > ACCOUNT(50) 更新为 USER(1) > ACCOUNT(99)。我该怎么做?我尝试了以下方法:
$account = Account::find(99);

User::find(1)->account()->save($account);

但这不起作用:-(任何帮助深表感谢!!

更新:

以下工作:
$user = User::find(1);
$user->account_id = 99;
$user->save();

...但必须有一个更好的解决方案,比如上面的那个,对吧?

它与 save() 和 attach() 方法在多对多关系中工作,以更新表之间的关系(从关系的双方)。在一对多关系中,似乎不支持 attach() 方法。

最佳答案

Taylor Otwell 的官方回答如下:

$account = Account::find(99);
User::find(1)->account()->associate($account)->save();

我在官方文档中找不到 associate() 方法。因此,如果其他人正在寻找解决方案。干得好!

关于laravel - 如何更新 Laravel 4 中现有的 Eloquent 关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com