在同一表格单元格中显示相同的值

时间:2019-03-29 03:07:38

标签: laravel eloquent bootstrap-4

我有一个表,其中的列标题为1、2、3、4和5。现在,我需要在每列下显示数量分别为1、2、3、4和5的产品,也就是说,如果有数量相同的产品4,它将显示在第4列下。

我尝试了groupBy和foreach,但没有得到预期的结果。

在我的控制器$products = Product::all();

我认为:

<table class="table">
<thead>
    <tr>
        <th>1</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>

   </tr>
</thead>
<tbody>
   <tr>
   @for($i = 1; $i < 6; i++)
       @foreach($products as $product)
           @if($product->quantity == $i)
               <td>{{ $product->name }}</td>
           @else
               <td>{{ "-" }}</td>
           @endif
       @endforeach
   @endfor
   </tr>
</tbody>

1 个答案:

答案 0 :(得分:0)

尝试一下:

$products = Product::get()->groupBy('quantity');

然后在您的表格中:

<table class="table">
<thead>
    <tr>
        <th>1</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>

   </tr>
</thead>
<tbody>
   <tr>
   @for($i = 1; $i <= 5; i++)
      @if(!empty($products[$i]))
         @foreach($products as $product)
             <td>{{ $product->name }}</td>
         @endforeach  
      @else
         <td>-</td>
      @endif
   @endfor
   </tr>
</tbody>