如何防止在 php 循环中重复选择的相同选项值

How to prevent repeating the same option value of a selection in a php loop

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>";
            }
            
        }
    }

这是我的 function.I 通过发送产品 ID 获取产品记录,并从中获取 product.And 的相关组记录 我遍历了所有组,然后我想排除我从产品中得到的 group_id 组的记录 table.I 我真的卡住了 here.Apperciate 谢谢你的帮助。

我想你正在寻找这个:

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>";
            }
            
        }
    }

然后更好地遍历 blade 文件中的组而不是这里

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