使用blade中的关系在Laravel中查询?
我有下列表格使用blade中的关系在Laravel中查询?,laravel,laravel-5,laravel-4,laravel-5.2,laravel-5.1,Laravel,Laravel 5,Laravel 4,Laravel 5.2,Laravel 5.1,我有下列表格 用户 请求 服务器 它们以以下方式相互关联 用户有许多请求 服务器有许多请求 现在我想要的是不重复地获取与用户的请求相关联的所有服务器 我必须在blade视图中执行此操作,因为在该视图中,我迭代服务并在表中显示它们 到目前为止,我一直在尝试以下方法 @foreach($requests as $request) @php $serversUser = \App\Server::where('requestsofservice', function($quer
用户
请求
服务器
有许多用户
请求
有许多服务器
请求
@foreach($requests as $request)
@php
$serversUser = \App\Server::where('requestsofservice', function($query){
$query->where('user_id',$request->user->id);
});
@endphp
@endforeach
但是由于变量$request->user->id
,它无法工作
结果是
未定义变量:请求
那么,我如何才能不重复地获得用户a与他们的请求相关的服务呢
当我迭代从中发送的请求时
控制器指向视图,在click foreach中,我得到
用户和该用户请求中的所有服务器。
$request
在您的函数中不存在。通过执行函数($query)使用($request)
传递它
请参阅PHP关于变量范围的文档:
关于匿名函数(特别是“示例#3从父范围继承变量”位):和最佳实践注释:您不应该在视图中执行查询。您应该在控制器中执行这些操作。@ceejayoz hou我不能执行数据吗?您应该在控制器中执行预处理,然后将整个后处理的
$requests
数组传递给视图。