我有以下表
-
Users
-
request
-
servers
以下方式相关。
-
User
有许多request
-
Sever
有许多request
现在我想要的是使所有服务器与用户无重复的请求关联。
我必须在刀片视图中进行此操作,因为在视图中,我正在迭代服务并在表中显示它们。
到目前为止,我一直在尝试以下
@foreach($requests as $request)
@php
$serversUser = AppServer::where('requestsofservice', function($query){
$query->where('user_id',$request->user->id);
});
@endphp
@endforeach
,但由于可变$request->user->id
。
结果是
未定义的变量:请求
所以,我如何获得用户A与其请求无关的服务的服务。
发生的事情是,当我迭代我发送的请求时视图的控制器,在点击内部,我得到了用户和用户从他的请求中拥有的所有服务器。
$request
在您的功能中不存在。通过执行function($query) use($request)
。
请参阅可变范围上的PHP文档:http://php.net/manual/en/language.variables.scope.php
和对匿名函数(特别是"示例#3继承变量来自父范围"(:http://php.net/manual/manual/en/functions.anonymon.php