helpers.php是一个带有函数voteAppeal
function voteAppeal($appealId) {
$userLogin = .....//working fine
$voteAppeal = .....//working fine
if(Auth::user()->id == $userLogin->id) {
View::share('voteAppeal', $voteAppeal);
} else {
View::share('voteAppeal', '');
}
}
我正在尝试在noti.blade.php模块中使用它来检查以记录所有收到的投票
@if($voteAppeal != '')
@foreach($voteAppeal as $voteAppeal)
@if($voteAppeal->read == 0)
someone Voted you.. //working fine for my code
@endif
@endforeach
@endif
但它显示以下错误:
Undefined variable: voteAppeal (View:....\noti.blade.php)
有什么想法吗?
答案 0 :(得分:1)
您正在通过帮助程序将变量传递给每个刀片,而应该在服务提供程序的引导方法中进行共享调用。您可以自由地将它们添加到AppServiceProvider或生成一个单独的服务提供程序,这就是它给出错误的原因。
选中此https://laravel.com/docs/5.6/views#passing-data-to-views
并且还完成了foreach循环中的更改 我希望它会对你有所帮助。
答案 1 :(得分:0)
尝试在$voteAppeal as $voteAppeal
重命名第二个变量,因为它会覆盖原始变量($voteAppeal
):
@if($voteAppeal != '')
@foreach($voteAppeal as $voteApp)
@if($voteApp->read == 0)
someone Voted you..
@endif
@endforeach
@endif
第二个问题是您必须使用View Composers将分享附加到视图中!
或者您可以使用AppServiceProvider
,在引导方法中,您可以调用方法voteAppeal
,然后您将与所有视图共享变量。