在 Laravel 数据表中显示多个图像

时间:2021-04-25 16:37:46

标签: jquery ajax laravel laravel-5 datatables

我多次尝试在数据表中显示多个图像,但总是失败。它只显示单个图像。

数据库中的图像

{




    if(s[i] == 0 || s[i] == 1)

    {

        continue;


    }

    else {

        printf("Error!\n");
        break;


        }






}

控制器

[{"name":"_MG_2288 (1).jpg","path":"public\/product_images\/\/mKBWAFw7ZYgVqvz1lrxrEA5PYbal1EqqKm9jEx0F.jpg"},{"name":"555dca050423bda8418b4567.jpeg","path":"public\/product_images\/\/QnYnO9SfA9JJIu7wm0rxJOIJog6txmED8pdiZ4nM.jpg"}]

查看

$data = \App\Product::latest()->get();

        return Datatables::of($data)
            ->addIndexColumn()
            ->addColumn('photo', function ($product) {
                foreach (json_decode($product->product_photo) as $picture) {
                    $pict = '<img src="/reference/eureka/storage/app/' . $picture->path . '" style="height:120px; width:200px"/>';
                    return $pict;
                }
            })
            ->rawColumns(['photo'])
            ->make(true);

2 个答案:

答案 0 :(得分:1)

return 内的

foreach 将停止您的循环。您应该在 return 之外使用 foreach。此外,使用 implode() 从数组元素返回一个字符串。所以,所有的图像都可以显示。

$pict = [];
                foreach (json_decode($product->product_photo) as $picture) {
                    $pict[] = '<img src="/reference/eureka/storage/app/' . $picture->path . '" style="height:120px; width:105px; margin-bottom:10px;"/>';
                }
                $pict = implode(', ', $pict);
                return $pict;

答案 1 :(得分:0)

在控制器中像这样保存

        if($request->hasfile('product_image'))
        {

            foreach($request->file('product_image') as $product_image)
            {
                $name=$product_image->getClientOriginalName();
                $destinationPath = public_path('/uploads/products/');
                $product_image->move($destinationPath, $name);

                $product_images[] = $name;
            }

            $post->product_image = $product_images;

        }

如果返回旋转木马,请使用滑块并获取带有索引的图像

            <div class="w3-white w3-text-grey w3-card-4" >

                <div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
                    <div class="carousel-inner">


                        @foreach($data->product_image as $slider)

                            <div class="carousel-item {{ $loop->first ? 'active' : '' }}" width="250" height="300">

                                <img class="d-block w-100" src="{{asset('uploads/products/' . $slider)}}" width="250" height="300" alt="{{$data->product_name}}">

                            </div>

                        @endforeach


                    </div>
                    <a class="carousel-control-prev" href="#carouselExampleFade" role="button" data-slide="prev">
                        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                        <span class="sr-only">Previous</span>
                    </a>
                    <a class="carousel-control-next" href="#carouselExampleFade" role="button" data-slide="next">
                        <span class="carousel-control-next-icon" aria-hidden="true"></span>
                        <span class="sr-only">Next</span>
                    </a>
                </div>

                <div class="w3-container" style="text-align: center">
                </div>
            </div><br>

相关问题