有两个表(一个是Users,第二个是Branches)。我想向Branch显示其分支管理员名称。分支管理员信息将保存在users表中。当我试图在一个视图中显示两个表的数据时出错。告诉我如何管理这个问题。
查看:
<div class="branches col-xs-12 col-sm-12 col-md-9 col-lg-9">
<input type="text" class="pull-right form-control search" placeholder="Search">
<div class="spaces"></div>
<table class="table table-bordered">
<thead>
<tr>
<th>
BranchName
</th>
<th>
BranchAdmin
</th>
<th>
Email
</th>
<th>
Contact
</th>
<th>
Location
</th>
<th>
Action
</th>
</tr>
</thead>
<tbody>
@foreach($branch as $brnch)
<tr class="branchies-row">
<td>
{{$brnch->branch_name}}
</td>
@foreach($user as $users)
<td>
{{$users->name}}
</td>
@endforeach
<td>
{{$brnch->email}}
</td>
<td>
{{$brnch->contact}}
</td>
<td>
{{$brnch->address}}
</td>
<td>
<a data-id="{{$brnch->id}}" class="delete-branch">Delete</a> /
<a href="/branch/edit/{{$brnch->id}}">Edit </a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
控制器:
public function getBranchinfo(){
$user = User::where('type', '=', 'BranchAdmin');
$branch = Branch::all();
return view('Branch.branchinfo')->with('branch',$branch)->with('user', $user);
}
型号:
public function branch(){
return $this->hasOne('App\Branch', 'user_id', 'id');
}
答案 0 :(得分:1)
我们可以使用查询构建器 - Join - 为此:
$branches = DB::table('Branches')
->join('users', 'users.id', '=', 'Branches.user_id')
->where('users.type', '=', 'BranchAdmin')
->get();
这应该可以为您提供所需的数据。
答案 1 :(得分:1)
你必须在分支模型中建立关系:
<noscript>
}
然后在刀片文件中,您获得分支管理员名称:
public function user(){
return $this->belongsTo('App\User');
@foreach($branch as $brnch)
<tr class="branchies-row">
<td>{{ $brnch->user->branchadmincloumn }}</td>
</tr>
@endforeach
是您的用户表中保存分支管理员名称的cloumn名称。因此,将branchadmincloumn
更改为您想要的列名称。
希望它有所帮助..