Comment utiliser éloquent dans Laravel

WBOY
Libérer: 2024-07-18 08:16:59
original
986 Les gens l'ont consulté

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'));
}
Copier après la connexion

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

Copier après la connexion

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();
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal