尽管定义了变量,但未定义的变量?

时间:2019-10-11 14:29:06

标签: laravel

我的应用程序中的用户可以创建自己的组。 groups/show.blade.php上显示一个网上论坛,其他用户可以加入该网上论坛。

我想显示所有加入每个小组的人的名单。

groups/show.blade.php页上,我有以下内容

@if ($joinedUsers)

@foreach($joinedUsers as $joinedUser)

{{$user->name}}

@endforeach

@else
@endif

@endsection

我得到的错误是:

  

未定义变量:group_joined_user

这很奇怪,因为在我的Group模型中,

   * Get the users that joined the group.
     */
    public function joinedUsers()
    {
        return $this->belongsToMany(User::class, 'group_joined_user', 'group_id', 'user_id')
            ->withTimestamps();
    }

还有我的GroupController.php

    public function show($id)
    {
        $group = Group::with('joinedUsers')->where('id', $id)->first();
        return view('groups.show', compact('group'));
    }

我的路线中有这个

Route::resource('groups', 'GroupsController');

我是Laravel的新手,所以这里可能缺少明显的东西吗?

1 个答案:

答案 0 :(得分:0)

您仅定义了$group变量。 joinedUsers是关系,并且您从未在任何地方将其定义为变量。你必须这样做

@foreach($group->joinedUsers as $user)
    {{$user->name}}
@endforeach