这是我的users
桌子
1.id
2.name
3......
我的branches
表
1.id
2.branch_name
3....
members
表
1.id
2.branch_id
3.user_id
4.member_name
5......
一个数据透视表名称branch-users
1.id
2.user_id
3.branch_id
此branch_user
数据透视表中用户存储的允许分支ID,当该用户输入任何成员时,他只能在<select></select>
字段中看到他的分配分支列表,或者要查看成员列表。他只能看到他的Assign分支成员列表。我已经在Laravel控制器中实现了这种查询
我的索引方法部分
public function index(){
$my = Auth::user()->branches;// branches is a many to many relation method in user model
foreach($my as $my){
$myBranch[] = $my->id;
}
$member = Member::whereIn('branch_id',$myBranch)->get();
return view('member.create',compact('member'))
}
我的创建方法部分
public function create(){
// i have to check every where this section...from.......
$my = Auth::user()->branches;
foreach($my as $my){
$myBranch[] = $my->id;
}
//.......to here
$branch = Branch::whereIn('id',$myBranch)->get();
return view('member.create',compact('branch'))
}
我的问题是我想使用此 ::whereIn('branch_id',$myBranch)->....
来显示分支列表和分支成员列表的条件,到处都必须声明并检查用户分配的不好的分支列表在Laravel框架中,我知道有很多机会可以一次声明任何函数,并且可以多次使用该函数/方法/变量。我想检查,一次通过身份验证的用户分配分支ID,并在需要时使用多个时间。但不幸的是,我不知道该怎么办。如果有人理解我想说的话,请帮助我。
答案 0 :(得分:0)
您可能想编写一个本地范围查询。您将查询逻辑的一部分放在模型上,然后可以在尝试查询该模型的任何地方调用它。