Php Laravel从2个不为null的表中获取数据

Php Laravel从2个不为null的表中获取数据,php,laravel-4,role,Php,Laravel 4,Role,我想从两个不同的表中得到一些数据 现在看起来确实是这样的: 但我不希望显示空字段(Globale版主、版主和Proef版主)。如何使用此代码执行此操作 控制器: public function ForumTeam() { $roles = Role::where('id', '>', '4')->orderBy('id', 'DESC')->get(); return View::make('team')->with('roles

我想从两个不同的表中得到一些数据

现在看起来确实是这样的:

但我不希望显示空字段(Globale版主、版主和Proef版主)。如何使用此代码执行此操作

控制器:

public function ForumTeam()
    {
        $roles = Role::where('id', '>', '4')->orderBy('id', 'DESC')->get();
        return View::make('team')->with('roles', $roles);
    }
视图:


@foreach($roles作为$role)
{{$role->name}
    @foreach($role->user as$user)
  • 用户名}}“width=“75”height=“75”> {{$user->username} {{$user->usertitle}

  • @endforeach
@endforeach
所以我想隐藏未填充的字段,我应该怎么做

我的另一个选择是在“空”字段中显示一些文本,比如“没有人拥有这个级别”


谢谢!

您可以在第一个
@foreach
之后添加if语句,以检查角色 有用户,

@foreach($roles as $role)
    @if(isset($role->user))
    ...
    @endif
@endforeach

您可以/应该能够使用:

@foreach($roles as $role)

   @if($role->user != null || !empty($role->user->name))

   @endif

@endforeach
然后,您可以检查
角色->用户
是否为空或角色名称是否为空。其中
名称
是角色名称,即“管理员”、“版主”

或者,尝试:

  @foreach($roles as $role)

    @if(count($role->user) >= 1)
       // Do stuff
    @endif

  @endforeach

由于您得到的是具有一对多关系的
User
,因此将有多个用户。

@RobinR无需担心。提示:如果您
dd($roles)
您可以看到数据是如何分布的。然后,您可以单击关系,查看其中有4个,例如,并查看它们是否包含空对象。这样,您就可以得到您想要的答案:)哦,好的,谢谢您的提示!我到目前为止还没有想到:)
  @foreach($roles as $role)

    @if(count($role->user) >= 1)
       // Do stuff
    @endif

  @endforeach