Laravel 5 View composer给出了一个未定义的变量错误

Din*_*ino 6 views composer-php laravel-5

我正在使用Laravel 5,我正在尝试将类别变量输出到视图,但目前我收到一个未定义的变量错误.

这是代码.

首先在config/app.php中:

'App\Providers\AppServiceProvider',
Run Code Online (Sandbox Code Playgroud)

在app/Providers/AppServiceProvider.php中:

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

在partials/menu.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>
Run Code Online (Sandbox Code Playgroud)

并在store/products.php中:

@include('partials.menu')
Run Code Online (Sandbox Code Playgroud)

我得到的确切错误是:未定义的变量:类别任何帮助解决这个将不胜感激.

谢谢

Roh*_*ali 5

试试这些命令

composer dump-autoload
or
php artisan cache:clear
or
php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

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


Abd*_*lah 0

我认为“with”方法接受数组作为参数,而不是尝试这个!

$categories = Categories::all();
$view->with(compact('categories'));
Run Code Online (Sandbox Code Playgroud)