Игнорировать значение $ request == null

Это мой стол

| id|lvl1_name  |lvl2_name|lvl3_name  |value
| 1 |Fruit      |Apple    | USA       |20
| 2 |Fruit      |Apple    | England   |30
| 3 |Fruit      |Manggo   | USA       |45
| 4 |Fruit      |Manggo   | England   |15
| 5 |vegetable  |Spinach  | USA       |20
| 6 |vegetable  |Spinach  | England   |30

Это мой контроллер:

$parameters_id = Fruits::where('lvl1_name', $request->lvl1)
            ->where('lvl2_name', $lvl2)
            ->select('id')->pluck('id');

Если мой запрос: $request->lvl1 = "Fruit" и $request->lvl2 = "Apple" покажет все яблоко

мой вопрос если моя просьба $request->lvl1 = "Fruit" и $request->lvl2 = null

Как показать все "Фрукты" без опции выбора на lvl2?

попробуйте WhereNull('lvl2_name') вместо where

Bhargav Chudasama 03.08.2018 11:36

не работает @ Dr.Strange

RAVI BANGKIT NUR ZIKRILLAH 03.08.2018 11:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать when для запуска оператора where, только если установлена ​​переменная.

$parameters_id = Fruits::where('lvl1_name', $request->lvl1)
    ->when($lvl2, function($query, $lvl2) {
        $query->where('lvl2_name', $lvl2);
    })
    ->select('id')->pluck('id');

Доступно по цене https://laravel.com/docs/5.6/queries#conditional-clauses

Sometimes you may want clauses to apply to a query only when something else is true. For instance you may only want to apply a where statement if a given input value is present on the incoming request.

Другие вопросы по теме