【问题标题】:Return array and show without iterating in laravel返回数组并显示而不在 laravel 中迭代
【发布时间】:2018-05-23 11:22:05
【问题描述】:

我通过紧凑的控制器发送数组。

    $medicines = Medicine::all()->pluck('medicine_name')->toArray();
    return view('orders.order',compact('medicines'));

我想在刀片中显示数组而不进行迭代,

输出应该类似于 $medicines = ['medicine1','medicine2','medicine3']

如何实现?

如果我返回 $medicine 变量,我会得到预期的输出,我该如何传递到视图中?

【问题讨论】:

    标签: php arrays laravel-5 laravel-blade


    【解决方案1】:

    先尝试分解结果,然后分配它

    $medicines = Medicine::all()->pluck('medicine_name')->toArray();
    $medicines = implode(",",$medicines);
    return view('orders.order',compact('medicines'));
    

    在您的视图中添加此代码

    {{ $medicines}} 
    

    【讨论】:

    • 我不想迭代数组。我只想打印数组
    【解决方案2】:

    如果你只想输出,你可以试试

    <?php echo "\$medicines = ['".implode("','",$medicines)."']"; ?>
    

    这里是现场演示:https://eval.in/915767

    【讨论】:

    • 但是这里的输出是数组的集合。我想要简单的数组。尝试返回医学变量,它只会返回我希望在视图中输出的数组
    • @iamsujit :如果您只想输出,可以尝试更新答案。
    【解决方案3】:

    如果我理解你...

    您可以使用 json_encode 将数组“转换”为字符串,然后打印它...(使用 {!!} 打印而不是 {{}})

    在模板中添加:

    $medicines = '{! json_encode($medicines) !}'
    

    如果你愿意,你可以使用 implode ...

    @php echo '$medicines = '[\''.imlode("', '", $medicines).'\']' @endphp
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 2019-09-14
      • 2013-11-10
      • 2012-06-16
      • 2019-02-12
      相关资源
      最近更新 更多