「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Laravelでeloquentを使用する方法

Laravelでeloquentを使用する方法

2024 年 7 月 31 日に公開
ブラウズ:786

Image description

この記事ではlaravel eloquent when条件を実装しています。フィルターアウト プロセスでは、リクエストに応じて if-else 条件を使用します。以下のコードを確認してください。

if($request->filter_by == 'amount')
{
    $query->where('amount', '>', request('amount', 0));
}

if($request->filter_by == 'created_at')
{
    $query->orderBy('created_at', request('order', 'desc'));
}

Laravelでeloquentを使用する方法

when() メソッドを使用できます。より読みやすく、ユーザーフレンドリーになっています。以下のコードを確認してください。

$query = Order::query();

$query->when(request('filter_by') == 'amount', function($q){
    return $q->where('amount','>', request('amount',0));
});
$query->when(request('filter_by') == 'created_at', function($q){
    return $q->orderBy('created_at', request('order','desc'));
});

3 番目の引数を when メソッドに渡すことができます。このクロージャは、最初の引数が false と評価された場合にのみ実行されます。

$query = Order::query();
$query->when(request('filter_by') == 'amount', function($q){
    return $q->where('amount','>', request('amount',0));
}, function($q){
    return $q->orderBy('created_at', request('order','desc'));
})->get();

これは、同じ「IF」をよりわかりやすく記述するだけでなく、条件付きクエリを整理する優れた方法でもあります。

このタイプの記事について詳しくは、サイトで読むことができます

リリースステートメント この記事は次の場所に転載されています: https://dev.to/rohiturane/how-to-use-eloquent-when-in-laravel-3b6b?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3