私はLazy/Eager LoadingによるLaravelの雄弁を利用していて、面白い問題を抱えています。Laravel eloquent 5.3複数の制限を持つ熱心な/レイジーなロード関連のモデル
説明:
- アカウントが
- すべてのグループが
問題それらにアイテムが含まれ、優先度番号で多くのグループ、それぞれを持っています
私は手動で各グループの返された項目の数に上限を設定する必要が
ここでの違いは、例えば
したがって、各グループの優先レベルに基づいて制限数の変化、雄弁な「選択」ステートメントは3つのグループをすべて取得しますが、グループ1に返されるアイテムの数はわずか3アイテム、グループ2はわずか8アイテム、グループ3〜17アイテムに制限されます。
私は何をしようとしました:
コードコントローラ内のレコード
return Account::with([ 'group_list.item' ])->where('group_id', $my->group_id) ->orderBy('group_priority_num', 'ASC') ->take(3) <----Gets three groups ->get(['group_priority_num','group_title','group_id']);
グループモデル
public function group_list() { // Example $this->number = [4 , 7, 15]; return $this->group()->limit($this->number)->groupBy('user_group_id_fk'); }
を取得しますこれは1レコードしか返さないか、まったく返さないので、私は現在、これに正しくアプローチする方法については混乱しています。誰かが私にこれに関するいくつかのガイダンスを貸してくれる?
ご協力いただきまして、ありがとうございます。 乾杯!
また、このタイプの機能を追加するプルリクエストを行う第4のオプションもあります。ただし、開発するには現在余裕があるよりも時間がかかります。あなたが言うことは意味があります。 ありがとうございました! 乾杯! –