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

Composer View is not loading variable into view

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

提供者 EvenComposerProvider:

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

作曲家 EvenComposer:

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

然后我将提供商包含在 app.php

App\Providers\EvenComposerProvider::class

当我尝试使用 foreach 遍历 $evens 时,它抛出错误:

Undefined variable: evens

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

你做错了,将此代码放入 provider 内的 boot 方法中,同时从 register 中删除代码并删除你的方法 composeEven :

View::composer(
   'layouts.aklinkosesi', 'App\Http\Composers\EvenComposer'
);

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

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

我尝试了其中的一些,而不是删除了 bootstrap/cache/config 文件并且它起作用了。