"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment utiliser éloquent dans Laravel

Comment utiliser éloquent dans Laravel

Publié le 2024-07-31
Parcourir:844

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 transmettre 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

Déclaration de sortie Cet article est reproduit sur : https://dev.to/rohiturane/how-to-use-eloquent-when-in-laravel-3b6b?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3