質問: $users->map(function($item){ $item->roles->filter(function($item){ return $item->min('name'); }); return $item; }); ``` ※最終的にはページネーションやソートなども必要なのですが、ひとまず現時点では忘れています。
回答: leftjoinしてあげてwhereInあたりで指定したらどうでしょうか? ``` $users = App\User::with('roles') ->leftjoin('roles' , 'user.role_id', '=','roles.id') ->whereIn("roles.name", ["r1","r2" ..... ,"r20"]) //※ whereInの中身は略してます。 ->get(); ``` 下記は質問の件とは別件となりますが ロール権限の比較用のnameカラムで、r1~r100と文字列なのが気になります。 権限レベルを別のカラムに、int型で管理すれば比較的に楽に絞り込みしやすい気がしますが 何か意図があるのでしょうか?