laravel防止foreach循环重复相同的结果

时间:2018-03-01 15:03:18

标签: laravel laravel-5

我正在做一个产品可以有多种尺寸的循环所以我显示产品的名称及其第一尺寸和同一产品的名称再次使用其第二尺寸但我随时尝试,它重复两种尺寸的产品名。例如:

我希望产品1 =小,产品1 =中等但在这种情况下显示...

产品1 =小介质,产品2 =小介质。我该如何解决这个问题。下面是我的刀片;

 @foreach ($productProductOptions as $productProductOption)

    @foreach($productProductOption->product->options as $productOptions)    
           <tr> 
                <th>{{ $loop->iteration }}</th>

                <td>{{ $productProductOption->product->title }}</td>

                <td>{{ $productOptions->name }}</td>
           </tr>

    @endforeach 

 @endforeach 

下面是我传递给视图的控制器代码;

   $productProductOptions = ProductProductOption::all();

这是表格中显示内容...... https://cdn.pbrd.co/images/H9UulFq.png

的图片

1 个答案:

答案 0 :(得分:0)

Distinct()

是您正在寻找的功能,它只返回数据库中的不同值,我建议您更新控制器以仅发送此特定详细信息以节省时间和获得性能,但这仅取决于您显示数据的方式以及如何很重要。

数据库查询

$productProductOptions = DB::table('products')
                         ->select('title', 'size')
                         ->distinct()
                         ->groupBy('title')
                         ->orderBy('title', 'asc')
                         ->get();

$productProductOptions = ProductProductOption::select('title', 'size')
                         ->distinct()
                         ->groupBy('title')
                         ->orderBy('title', 'asc')
                         ->get();