Laravel 5 View Composer给我一个未定义的可变误差



我正在使用Laravel 5,我正在尝试将变量输出到视图,但目前我遇到了一个不确定的变量错误。

这是代码。

首先在config/app.php中:

'AppProvidersAppServiceProvider',

在App/Provers/AppServiceProvider.php中:

public function boot()
    {
        View::composer('partials.menu', function($view)
        {
            $view->with('categories', Category::all());
        });
    }

in partials/菜单.blade.php:

<ul>
    <li>Home</li>
    @foreach($categories as $category)
        <li><a href="/store/category/{!! $category->id !!}">{!! $category->name !!}</a></li>
    @endforeach
    <li>Basket</li>
    <li>Checkout</li>
    <li>Contact Us</li>
</ul>

and in Store/products.php:

@include('partials.menu')

我遇到的确切错误是:未定义的变量:类别解决此问题的任何帮助。

谢谢

尝试这些命令

composer dump-autoload
or
php artisan cache:clear
or
php artisan config:clear

有时,这些简单的技巧会有所帮助。

我发现问题是来自您的app/Providers/AppServiceProvider.php

在您的启动方法中,view::composer旨在接收视图您的作曲家应适用。即View::composer(['partials.menu'], function($view) { .. }

请参阅完整的解决方案:

public function boot()
{
    View::composer(['partials.menu'], function($view)
    {
        $view->with('categories', Category::all());
    });
}

我认为"方法"接受数组作为参数,而是尝试!

$categories = Categories::all();
$view->with(compact('categories'));

您需要正确地通过查询中的类别类,只需将Categories::all()更改为AppCategories::all(),假设您没有更改名称空间。

相关内容

最新更新