我是Lavarel的新手,我编写了这部分代码,将我的收藏集添加到javascript数组中,但这似乎不起作用。

$(document).ready(function() {

            var data = [];
            @foreach($products as $product )
                data.push({'{{ $product->id }}' : '{{ $product->name }}'});
            @endforeach

//            Im trying to get a variable which looks like this
//            data: [
//                {
//                    id: 'The ID goes here',
//                    text: 'Text to display'
//                },
//                // ... more data objects ...
//            ]
        });


请帮我解决这个问题

最佳答案

最好创建一个Laravel Collection并将其转换为json,以便javascript可以读取。

var data = {{ $products->map(function ($product) { return ['id' => $product->id , 'text' => $product->name];})->toJson() }};


在您的控制器中生成此json字符串将更加干净。

09-10 05:27
查看更多