【问题标题】:Laravel - how to extract an array to variables and use them in bladeLaravel - 如何将数组提取到变量并在刀片中使用它们
【发布时间】:2020-06-15 06:38:57
【问题描述】:

我们可以在 laravel 视图中提取一个数组吗?

例如考虑这个:

我们已经说过需要将控制器中的 20 个变量传递给 blade,现在我们当然可以像这样使用 compact 传递这些变量:

return view('someview', compact('var_a', 'var_b', 'var_c', 'var_d' ....));

但是有没有办法我们可以移动数组中的所有变量,然后将其传递给刀片,然后以某种方式将其提取到刀片中,如下所示:

$data = array('var_a' => 'value', 'var_b' => 'value', 'var_c' => 'value', 'var_d' => 'value', );
return view('someview')->with($data);

然后像这样在刀片访问中:

{{$var_a}} {{$var_b}} {{ $var_c}}

就像我们在 PHP 中有 extract() 函数一样,我只是想在刀片中使用它

我不想像这样访问索引:

{{ $data['var_a'] }}

我已经看到并受到 opencart 中使用的类似语法的启发

【问题讨论】:

    标签: arrays laravel laravel-blade


    【解决方案1】:

    是的,这很简单,你可以这样做

    $data = ['var1' => 'value', 'var2' => 'value'];
    

    然后

    return view('someview', $data);
    

    【讨论】:

      【解决方案2】:

      你可以通过多种方式做到这一点,我会写两种方法来做到这一点

      • 方式 1:

        在控制器中:

      $data = array('var_a' => 'hello', 'var_b' => 'bye', 'var_c' => 'ok');
      return view('someview', compact('data'));
      

      那么您必须使用extract() PHP 内置函数(有关更多信息,请参阅此link
      然后在someview.blade.php文件中添加如下代码:

      @php
         extract($data)
      @endphp
      
      <h1>{{$var_a}}</h1><br>
      <h2>{{$var_b}}</h2><br>
      <h3>{{$var_c}}</h3><br>
      
      • 方式 2:

        在控制器中:

      $data = array('var_a' => 'hello', 'var_b' => 'bye', 'var_c' => 'ok');
      return view('someview', $data);
      

      你不必再做任何事情,Larval 自己会做第一种方式。

      【讨论】:

        【解决方案3】:

        这是您的简单解决方案

        $data = array('var_a' => 'value of var_a', 'var_b' => 'value of var_b', 'var_c' => 'value of var_c', 'var_d' => 'value of var_d',);
        return view('someview',$data);
        

        在 Blade 中你可以访问

        {{$var_a}} {{$var_b}} {{ $var_c}}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-04-05
          • 2022-11-02
          • 2020-11-16
          • 1970-01-01
          • 1970-01-01
          • 2018-05-30
          • 2017-11-15
          相关资源
          最近更新 更多