Laravelを使用すると、列の昇順で並べ替えることができますが、最後には0になります。これは通常のSQLでのやり方です:Laravel:列ASCをソートしますが、最後に0が表示されます
SELECT * FROM your_table ORDER BY your_field = 0, your_field;
私はLaravelのやり方を知りたいと思います。
多くのお礼ありがとうございます
Laravelを使用すると、列の昇順で並べ替えることができますが、最後には0になります。これは通常のSQLでのやり方です:Laravel:列ASCをソートしますが、最後に0が表示されます
SELECT * FROM your_table ORDER BY your_field = 0, your_field;
私はLaravelのやり方を知りたいと思います。
多くのお礼ありがとうございます
orderByRaw機能を試すことができます。例えば
:
$data = new YourModel();
$data = $data->orderByRaw('your_field = 0', 'ASC', 'your_field')->get();
あなたのコードは整数を適切にソートしないと思います。 $データ=新しいYourModel(); $データ= $ data-> orderByRaw( 'your_field = 0、your_field ASC') - > get(); ' –
私たちは多分DB::raw
、その使用法を使用することができると思います。
DB::select(DB::raw("SELECT * FROM your_table ORDER BY your_field = 0, your_field"));
ありがとう回答。これに対してLaravelはクエリを作成していますか? –
はい、確かめてください[こちら](こちら)(https://laravel.com/docs/5.4/queries#raw-expressions) –
ドキュメントを共有していただきありがとうございます。私はRAWを使用しないソリューションを探しています。とにかくありがとう。 –
あなたは 'DB :: raw'を使ってみたことがありますか? –