Php Laravel从2个不为null的表中获取数据
我想从两个不同的表中得到一些数据 现在看起来确实是这样的: 但我不希望显示空字段(Globale版主、版主和Proef版主)。如何使用此代码执行此操作 控制器: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
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