Как предотвратить повторение одного и того же значения параметра выбора в цикле php

public function getProductById(Request $request)
    {
        $response = '';
        $product = Product::find($request->productId);
        $groups = Group::all();

        foreach ($groups as $group) {
            if ($group->id == $product->group_id) {
                //exclude this record

                $response .= "<option value='" . $group->id . "'>";
                $response .= $group->group_name;
                $response .= "</option>";
            }
            
        }
    }

Это моя функция. Я получаю запись о продукте, отправляя идентификатор продукта, и из него я получаю соответствующую групповую запись продукта. И я просмотрел все группы, и я хочу исключить запись группы, которая это group_id, который я получил из таблицы продуктов. Я действительно застрял здесь. Спасибо за вашу помощь.

Заменить if ($group->id == $product->group_id) { на if ($group->id != $product->group_id) {?

Marleen 08.05.2022 18:23

@Marleen напиши как ответ

Destr0id Backups 08.05.2022 18:49
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
33
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Я думаю, вы ищете это:

public function getProductById(Request $request)
    {
        $response = '';
        $product = Product::find($request->productId);
        $groups = Group::all();

        foreach ($groups as $group) {
            if ($group->id != $product->group_id) {
                //exclude this record

                $response .= "<option value='" . $group->id . "'>";
                $response .= $group->group_name;
                $response .= "</option>";
            }
            
        }
    }

Лучше не получать запись в первую очередь

public function getProductById(Request $request)
    {
        $product = Product::find($request->productId);
        $groups = Group::where('id','!=' $product->group_id)->get();


        foreach ($groups as $group) {
                $response .= "<option value='" . $group->id . "'>";
                $response .= $group->group_name;
                $response .= "</option>";
            }
            
        }
    }

а потом лучше перебирать группы в блейд-файле, а не здесь

    @foreach($groups as $group)
       <option value = "{{ $group->id }}">{{ $group->name }}</option>
    @endforeach

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