私にはNetflix-esque(階層的な意味で)のモデルがあります。一例として、私は、belongsToManyグループであるbelongsToManyサブグループであるbelongsToMany Course、belongsToManyコレクションのレッスンを持っています。レッスンは最下位レベルで、グループまでは最上位レベルです。チェーンを下って行くと、それぞれが次のリンクのbelongsToManyも同様にダウンします。階層的なbelongsToMany関係からすべてのデータを返します。Laravel 5.3
私はWordpressから私のLaravel APIを呼び出すフィルタボタンを使用しています。グループIDとサブグループIDを渡すと、そのサブグループに属するコレクションを返す必要があります。しかし、私が必要とするのは次のようなものです:
$group->with('subgroups')->where('subgroup_id')->with('collections')->with('courses')->with('lessons');
しかし、この種の構文は機能しません。各レベルをクエリしてそのレベルの関係を取得する方法はありますか?
もっとコードが必要な場合は、もっと分かち合うことができます。
あなたの予想される出力は何ですか?ちょうど 'コレクション'ですか?または完全な階層? – fubar
あなたの例では '$ group'とは何ですか? – fubar
@fubar、私の期待される出力は、コースの配列を持つ各コレクションオブジェクトです。各コースオブジェクトには、関連するレッスンの配列があります。 $ groupは、私のルートから渡されたGroup :: find($ id)の変数を参照するだけです。 – ryanpback