Composer View未将变量加载到视图中

问题描述 投票:6回答:2

我之前创建了3个作曲家视图,它们都正常工作,但后来又创建了另一个,这似乎不起作用。我一直试图让它工作,它似乎与我的代码无关。我会在这里放一块,但我仍然不认为这是代码。

Provider EvenComposerProvider:

public function register(){
    $this->composeEven();
}
public function composeEven(){
    view()->composer('includes.aklinkosesi', 'App\Http\Composers\EvenComposer');
}

Composer EvenComposer:

class EvenComposer{
   public function compose(View $view){
      $view->with('evens', Even::orderBy('id','desc')->paginate(10));
   }
}

而且我把提供者包括在app.php里面

App\Providers\EvenComposerProvider::class

当我尝试使用$evens循环foreach时,它会抛出错误:

未定义的变量:均匀

我的粗略猜测是,Laravel不会编译app.php

laravel laravel-5.4
2个回答
5
投票

所以这里的解决方案可能适用于相同坐姿的人。首先尝试这些命令:

composer update
php artisan config:clear
php artisan cache:clear 
composer dumpautoload
php artisan cache:clear

我尝试了一些,而不是删除bootstrap/cache/config文件,它的工作原理。


0
投票

你做错了,将这些代码放入boot内部的provider方法中,并从register中删除代码并删除你的方法composeEven

View::composer(
   'layouts.aklinkosesi', 'App\Http\Composers\EvenComposer'
);
© www.soinside.com 2019 - 2024. All rights reserved.