php - 如何从外部 View 在 Laravel blade @foreach 循环中获取变量

标签 php laravel foreach laravel-blade

我有 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: userforeach 循环看不到 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/

相关文章:

php - 识别单击的 anchor 标记以到达服务器端脚本

javascript - Javascript 和 PHP 之间的简单交互

php - WooCommerce 订阅 "invalid recurring shipping method"

MySQL修改了时间戳字段的 "Default"和 "Extra"值

php - 发布请求在服务器端获取空?

php - 如何在laravel中仅显示日期时间中的日期

php - 使用 PHP 的 foreach 将逻辑仅应用于数组中的某些键

javascript - 用数组和循环简化一些jquery

php - 哪个更有效,PHP 字符串函数或 PHP 中的正则表达式?

powershell - 如何使用PowerShell一次加载和处理文件