Maison >développement back-end >tutoriel php >Comment utiliser éloquent dans Laravel

Comment utiliser éloquent dans Laravel

WBOY
WBOYoriginal
2024-07-18 08:16:591000parcourir

Image description

Dans cet article, nous implémentons Laravel éloquent when condition. Dans le processus de filtrage, nous utilisons la condition if-else sur demande. Vérifiez le code ci-dessous.

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

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

Comment utiliser éloquent dans Laravel

Vous pouvez utiliser la méthode when(). Il est plus lisible et convivial. Vérifiez le code ci-dessous.

$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'));
});

Vous pouvez passer le troisième argument à la méthode when. Cette fermeture ne s'exécutera que si le premier argument est évalué comme faux.

$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();

Ce n'est pas seulement une façon plus jolie d'écrire le même "IF", mais c'est aussi un excellent moyen d'organiser les requêtes conditionnelles.

Vous pouvez en savoir plus sur ce type d'article sur le site

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn