laravelで関連モデルを元に検索したいです。
・User 1
・Profile 多
この際、profileのpriceの価格順に並び替えたい。
$sql = User::whereHas('profiles', function ($query) use ($request){ $query->orderBy('price', 'DESC');//効かない }) // ->orderBy('profiles.price', 'DESC')//動かない ->with( [ 'profiles' ] ); $res = $sql->paginate(5); foreach ($res as $v) { echo $v->id." ".$v->name." ".$v->profiles[0]->price."<br>"; }
joinを挟めば動くのですが、もっとシンプルにする方法はありませんか?
これなら動く。
->join('profiles','profiles.id','=','users.id') ->orderBy('price', 'DESC')
宜しくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。