Laravelにおけるormの条件フィルタリングとソート
1275 ワード
$query->where('a','>',10)->where('b','=','10')->orderBy('a','desc')->get();
whereRaw()
という方法を使う必要があります.具体的には、ドキュメントを自分で参照してください.使用後、ormにsql文を埋め込んで、この問題を完璧に解決します.コードは以下の通りです. $query->whereRaw('a < b')->orderBy('a','desc')->get();
:
orderBy('a')->orderBy('b')
を直接使用して、結果は需要に合わず、orderBy('a/b')
コードを使用してエラーを報告します.どうすればいいですか.2の処理と同様に、order by句の値として原生文字列を設定するためにorderByRaw()
を用いることができ、コードは以下の通りである: $query->whereRaw('a < b')->orderByRaw('a/b ASC')->get();
:
まとめ:見たことのない問題に遭遇したら、自分で先に処理してみると、自然に解決できるのが一番で、解決できないのはドキュメントを見たり、助けを求めたりするしかありません.