"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo usar elocuente cuando estás en laravel

Cómo usar elocuente cuando estás en laravel

Publicado el 2024-07-31
Navegar:290

Image description

En este artículo, estamos implementando laravel elocuente cuando condición. En el proceso de filtrado, utilizamos la condición if-else a pedido. Verifique el código a continuación.

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

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

Cómo usar elocuente cuando estás en laravel

Puedes usar el método when(). Es más legible y fácil de usar. Verifique el código a continuación.

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

Puedes pasar el tercer argumento al método when. Este cierre solo se ejecutará si el primer argumento se evalúa como falso.

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

No es sólo una forma más bonita de escribir el mismo "SI", sino que también es una excelente manera de organizar consultas condicionales.

Puedes leer más sobre este tipo de artículos en el sitio

Declaración de liberación Este artículo se reproduce en: https://dev.to/rohiturane/how-to-use-eloquent-when-in-laravel-3b6b?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3