Laravel在控制器中使用引号内爆数组

时间:2019-03-11 13:12:44

标签: php laravel

我想在控制器中使用引号内嵌数组,这是我的代码,但是没有达到我想要的效果,起点和终点仍然为空。我尝试了很多代码,但无法摆脱。感谢您的帮助。

$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'],

2 个答案:

答案 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;

更改:

  • 添加了转换函数调用。
  • 从内线电话中删除了报价

此解决方案可能更漂亮,但这是一种非常快捷的方法。