我之前创建了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
时,会抛出错误:
未定义的变量:evens
我的粗略猜测是,Laravel不编译app.php
答案 0 :(得分:5)
所以这里的解决方案可能适用于同一个坐姿的人。 首先尝试这些命令:
composer update
php artisan config:clear
php artisan cache:clear
composer dumpautoload
php artisan cache:clear
我尝试了其中一些而不是删除bootstrap/cache/config
文件,但它确实有效。
答案 1 :(得分:0)
您做错了,将此代码放入boot
内的provider
方法中,并从register
中删除代码并删除您的方法composeEven
:< / p>
View::composer(
'layouts.aklinkosesi', 'App\Http\Composers\EvenComposer'
);