首页 > 解决方案 > 删除图像后移动的表列(使用带有 laravel 的数据表)

问题描述

我正在尝试在 Laravel 7 中使用具有多个图像功能的数据表。当我删除产品的所有图像时,它会删除它们。但是当我回到数据表时,所有列都移到左边一列。我附上一张图片。我不确定我需要在这里提供哪一部分代码。现在我只是给出控制器部分。

控制器

public function destroy_allimages($id)
    {
        $car = Car::find($id);
        if (!is_null($car)) {
            foreach ($car->join_caralbum as $image) {
                unlink($image->image_location);
            }
            $car->join_caralbum()->delete();
        }
        return back()->with('success', 'Car Deleted Successfully');
    }

@foreach ($cars as $car) 
                <tr>   
                    @php $i=1; @endphp
                 @foreach ($car->join_caralbum as $image)
                    @if ($i>0) 
                 <td><img src="{{asset($image->image_location)}}" style ="height:90px; width:120px;"></td>   
                    @endif
                  @php $i--; @endphp
                   
                 @endforeach
                
                    <td>{{ $car->visible }}</td>
                    <td>{{ $car->carreg }}</td>
                    <td>{{ $car->make }}</td>
                    <td>{{ $car->model }}</td>
                    <td>{{ $car->price }}</td>
                    <td>{{ $car->enginesize }}</td>
                    <td>{{ $car->gearbox }}</td>
                    <td>{{ $car->fueltype }}</td>
                    <td>{{ $car->noofdoors }}</td>
                    <td>{{ $car->status }}</td>
                    <td>{{ $car->cartype }}</td> 
                    <td>
                        <a class="btn btn-info" href="{{ url('car_show/'.$car->id) }}"><i class="fas fa-info fa-xs"></i></a>
                        <a class="btn btn-primary" href="{{ url('car_edit/'.$car->id) }}"><i class="fas fa-edit fa-xs"></i></a>
                        <a class="btn btn-danger" href="{{ url('car_destroy/'.$car->id) }}"
                            onclick="return confirm('Are you sure you want to delete all images for this car?')"
                            ><i class="fas fa-trash fa-xs"></i></a>
                    </td>
                </tr>
                @endforeach
       

js 用于数据表

<script type="text/javascript">
    $(document).ready( function () 
    {
    $('#table').DataTable({
        "dom": "fliprtip",
        "pagingType":"full_numbers",
            
        lengthMenu: [[5,10,15,20,-1],[5,10,15,20,"All"]]
                        });
    });
</script>

在此处输入图像描述

标签: phplaraveldatatables

解决方案


@Ibrahim Ezzat 是的,你是对的。多谢。我已经编辑了我的代码,它现在可以工作了。这就是我所做的

<td> 
   @php $i=1; @endphp
   @foreach ($car->join_caralbum as $image) 
      @if ($i>0) 
      <img src="{{asset($image->image_location)}}" style ="height:90px; width:120px;">
      @endif     
   @php $i--; @endphp 
   @endforeach
</td> 
     

推荐阅读