我开始使用Laravel,了解大多数基础知识的工作原理,但不确定如何将子项添加到模型或集合中。所以基本上我可以说3个模型(用户,分销商和帐户)。帐户属于分销商,分销商属于用户。两者都是“一对多”关系,因此分销商可以拥有多个帐户,而用户可以拥有多个分销商。
这是在我的控制器中获取该用户的分销商
$distributors = User::find($id)->distributors;
我的用户模型
public function distributors()
{
return $this->hasMany('App\Distributor');
}
我的经销商模特
public function accounts()
{
return $this->hasMany('App\Account');
}
我希望将帐户作为子项附加到分销商模型中。现在,如果我dd($distributors);
我获得该用户的所有分销商,但没有每个分销商的帐户。
我可以添加一些功能,以便将它们添加到分销商吗?就像使用这个电话一样:
$distributors = User::find($id)->distributors->with('accounts');
答案 0 :(得分:1)
我明白了。我必须做的是添加""到用户模型不在控制器中,所以:
public function distributors()
{
return $this->hasMany('App\Distributor')->with('Accounts');
}
答案 1 :(得分:0)
通常,您可以将Account
添加到Distributor
,例如,如下所示:
Distributor::find(1)->accounts()->save($account);
在您的情况下,您可以将Account
添加到Distributor
,如下所示:
$distributors = User::with('distributors')->find($id)->distributors;
//A User can have many Distributors so you need to select one distributor,
//the first one in this example with index 0 !
$distributors[0]->accounts()->save($account);
我希望这会对你有所帮助。