我有 blade
View 和 @foreach
循环。在这个 blade
View 中,我还在 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
这是我 Controller 中的 index() 函数
public function index()
{
$user = Auth::user();
$threads = Thread::getAllLatest()->get();
return view('messenger.index', compact('threads', 'user'));
}
我有错误 Undefined variable: user
。 foreach
循环看不到 View 其他部分的变量。
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)
最佳答案
在您的情况下,请在返回
时使用此代码return View::make('messenger.index')
->with(compact('threads'))
->with(compact('user'));
您可以任意多次使用with。这有望解决您的问题。
关于php - 如何从外部 View 在 Laravel blade @foreach 循环中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55494628/