我想在控制器中使用引号内嵌数组,这是我的代码,但是没有达到我想要的效果,起点和终点仍然为空。我尝试了很多代码,但无法摆脱。感谢您的帮助。
$product = Product::find($id);
$product = collect($product->images->pluck('image_path'))->implode("','");
return $product;
我真正想做的是将此数组发送到laravel刀片中的javascript代码中。
initialPreview: ['{{ $product}}'],
但是这次,输出如下,我再也无法获得想要的结果。
initialPreview: ['img/uploads/urun/1552304918.jpeg','img/uploads/urun/1552304918.jpeg'],
答案 0 :(得分:3)
由于您的实际目标是为带有路径数组的javascript变量添加种子,因此您可以执行以下操作:
获取路径:
$product = Product::find($id);
$product = $product->images->pluck('image_path');
return $product;
在“刀片”视图中使用它:
initialPreview: @json($product),
当您考虑到除了用引号引起来的字符串之外,还需要适当地转义字符串时,尝试在字符串上映射文字引号可能会遇到问题。
答案 1 :(得分:1)
我的Laravel有点生锈,但这应该是您想要做的:
$product = Product::find($id);
$product = collect($product->images->pluck('image_path'))
->transform(function ($item, $key) {
return "'" . $item ."'";
})
->implode(",");
return $product;
更改:
此解决方案可能更漂亮,但这是一种非常快捷的方法。