【问题标题】:Laravel, Undefined Variable when trying to pass array from controller to viewsLaravel,尝试将数组从控制器传递到视图时未定义的变量
【发布时间】:2022-08-18 18:51:43
【问题描述】:

我对 Laravel 还很陌生,仍在尝试解决所有这些问题。所以基本上我有一个数组,其中包含我想要传递到我的 index.blade.php 文件的电影列表。然后在我的索引文件中显示该列表。这就是我目前所拥有的。

路线:

Route::get(\'catalog\', \'App\\Http\\Controllers\\CatalogController@getIndex\');

控制器:

class CatalogController extends Controller
{
    private $arrayPeliculas = array(...);

    public function getIndex()
    {
        return view(\'catalog.index\', $this->arrayPeliculas);
    }
}

指数:

<body>
    @section(\'content\')
    <div class=\"row\">

        @foreach( $arrayPeliculas as $key => $pelicula )
        <div class=\"col-xs-6 col-sm-4 col-md-3 text-center\">

            <a href=\"{{ url(\'/catalog/show/\' . $key ) }}\">
                <img src=\"{{$pelicula[\'poster\']}}\" style=\"height:200px\"/>
                <h4 style=\"min-height:45px;margin:5px 0 10px 0\">
                    {{$pelicula[\'title\']}}
                </h4>
            </a>

        </div>
        @endforeach

    </div>
    @endsection
</body>

我尝试以一种不同的方式来做这件事

public function getIndex()
    {
        $arrayPeliculas = array(...);
        return view(\'catalog.index\')->with(\'arrayPeliculas\', $arrayPeliculas);
    }

但这对我来说真的不起作用,因为我还有一些其他函数使用这个数组,当数组被修改时,它只会在那个特定的函数中。 我一直在寻找类似的问题,但我看不出我做错了什么。任何帮助表示赞赏,谢谢。

  • 而不是-&gt;with(\'arrayPeliculas\', $arrayPeliculas); 尝试-&gt;with(\'arrayPeliculas\' =&gt; $arrayPeliculas);
  • 这似乎给了我语法错误:意外 \'=>\' (T_DOUBLE_ARROW),期待 \')\'
  • 我的错,我忘了把它包装成一个数组([\'arrayPeliculas\' =&gt; $arrayPeliculas])
  • 好的,它没有给我一个错误,但它仍然在说 Undefined Variable

标签: php laravel laravel-blade


【解决方案1】:

你应该使用这个 return view('catalog.index', ['arrayPeliculas' => $this->arrayPeliculas]);

【讨论】:

  • 这就是我的解决方案。非常感谢!我仍然对语法等不太熟悉。
【解决方案2】:

您可以使用 compact 发送变量,因为您之前定义了它 你应该使用这个 return view('catalog.index',compact('arrayPeliculas'));

【讨论】:

    【解决方案3】:

    您的代码应如下所示

    return view('catalog.index',compact('arrayPeliculas'));
    

    【讨论】:

      猜你喜欢
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 2014-12-08
      相关资源
      最近更新 更多