我正在尝试使用Laravel7中的数据表与多图像设施。 当我删除一个产品的所有图像时,它也会删除它们。 但当我返回到数据表时,所有列都移到左一列。 我在附加一个图像。 我不确定这里需要提供哪一部分代码。 现在我只是给控制器部分。
控制器
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>
在此处输入图像说明
发生这种情况是因为这段代码:
@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
我不知道为什么要使用$i
变量,但是您可以通过以下方式来解决问题:
@php $i=1; @endphp
@foreach ($car->join_caralbum as $image)
<td>
@if ($i>0)
<img src="{{asset($image->image_location)}}" style ="height:90px; width:120px;">
@endif
</td>
@php $i--; @endphp
@endforeach