我正在使用laravel。我有两张桌子。一个是users
,另一个是permission
。我有两个foreach
循环。一个是显示用户数据。用户数据来自users
表。另一个foreach
循环用于检查user
表中permission
是否可用。
我从users
表中获取所有用户:
$allTeachers = User::where('role',2)->paginate(4);
我也从这样的权限表中获取所有数据。
$allpermiteds = Specialpermission::where('add_teacher','!=','NULL')->get();
我已将这两个查询发送到我的视图中。它工作正常。 现在我在我的视图中打印这些用户数据,如此
@foreach($allteachers as $teacher)
<tr>
<td>{{ $teacher->id}}</td>
<td>{{ $teacher->name }}</td>
<td>{{ $teacher->email }}</td>
<td><button>give</button></td>
<td><button>Remove</button></td>
@endforeach
我打印了两个按钮给予和删除。现在我想这样做,如果$teacher->id
表permission
列中有add_teacher
,那么它应显示remove
按钮。否则它应该显示add
按钮。
我这样做了,但它没有正常工作。
@foreach($allteachers as $teacher)
<tr>
<td>{{ $teacher->id}}</td>
<td>{{ $teacher->name }}</td>
<td>{{ $teacher->email }}</td>
<td>@foreach($allpermitted as $p)
@if($p->add_teacher == $teacher->id)
<button>Remove</button>
@else
<button>give</button>
@endif
@endforeach</td>
@endforeach
它显示了很多按钮。如果权限表中有4
个用户,则会为每个4
显示user
个按钮。这是主要问题
提前致谢。
答案 0 :(得分:0)
简单,从db中选择Private Sub Worksheet_Change(ByVal Target As Range)
if not intersect(range("A:A, I:I"), target) is nothing then
'add error control
on error goto safe_exit
'don't do anything until you know something has to be done
dim r as range
Application.EnableEvents = False
For Each r In intersect(range("A:A, I:I"), target)
r.Offset(0, 1).Value = Date 'do you want Date or Now?
Next r
end if
safe_exit:
Application.EnableEvents = True
End Sub
列,然后将add_teacher
个对象转换为如下所示的数组:
Specialpermission
然后使用$permissionData = Specialpermission::where('add_teacher','!=','NULL')->select('add_teacher')->get();
$allpermiteds = collect($permissionData )->map(function($x){ return (array) $x; })->toArray();
检查权限检查
in_array
答案 1 :(得分:0)
我更喜欢使用定义两个表之间关系的eloquent函数with
:
$allTeachers = User::where('role',2)->with('SpecialPermisson')->paginate(4);
它会添加SpecialPermission
字段(如果有)。如果没有,它会给你一个空白字段,所以检查它是否为空。