を子(関係を)返す私が働いているモデルは、このような構造とする多ワンです。Laravelはだけでなく、親
私がすべてを取得したい場合User
Notes
私はそのユーザーに属するメモを取得するためにチェーンをフォローする必要があります。
私の現在のモデルはこれを行いますが、必要以上に多くの情報(ディストリビューター)を返します。 Notes
とそれが属しているAccount
を返すだけでいいです、Distributor
を取得する必要はありません。
コントローラー:
public function showManager($id)
{
$user = User::find($id);
$distributors = User::find($id)->distributorsWithAccounts;
$notes = User::find($id)->notes;
//dd($notes);
return view('admin/managers-single',
[
'user' => $user,
'distributors' => $distributors,
'notes' => $notes,
]);
}
ユーザーモデル:
public function notes()
{
return $this->hasMany('App\Distributor')->with('accountsWithNotes');
}
ディストモデル:
public function accountsWithNotes()
{
return $this->hasMany('App\Account')->has('notes')->with('notes');
}
勘定モデル:
public function notes()
{
return $this->hasMany('App\Note');
}