【发布时间】:2019-08-24 22:50:11
【问题描述】:
我有blade 视图和@foreach 循环。在这个blade 视图中,我还在UserController 中传递$user 变量。在@foreach 里面我有代码{{ $user->getAvatar() }}。
@extends('layouts.app')
@section('content')
@foreach($threads as $thread)
<div class="media alert {{ $class }}">
<img src="{{ $user->getAvatar() }}">
<div class="media-body">
<p>
{{ $thread->latestMessage->body }}
</p>
</div>
</div>
@endforeach
@endsection
这是我控制器中的 index() 函数
public function index()
{
$user = Auth::user();
$threads = Thread::getAllLatest()->get();
return view('messenger.index', compact('threads', 'user'));
}
我有错误Undefined variable: user。 foreach 循环从其他部分看不到变量。
ErrorException (E_ERROR)
Undefined variable: user (View:messenger\partials\thread.blade.php) (View: messenger\partials\thread.blade.php)
Previous exceptions
Undefined variable: user (View: messenger\partials\thread.blade.php) (0)
Undefined variable: user (0)
【问题讨论】:
-
请添加完整的错误信息
-
您正在调用视图
messenger.index,但错误来自messenger\partials\thread.blade.php。您是否向我们展示了所有相关的视图代码?你是在某处调用一个局部变量而不是将该变量传递给它吗? -
问题很简单。
@foreach循环看不到外部变量。 -
@SergeyS。分享完整的相关代码,这里肯定缺少一些东西
标签: php laravel foreach laravel-blade