SQL查询,或雄辩的foreach循环查询
我有个问题。假设我有两个收藏;CompanyOrders和User需要做一个循环来获取公司订单中涉及的所有用户,我该怎么做?下面将以foreach格式提供我正在寻找的查询示例SQL查询,或雄辩的foreach循环查询,sql,laravel,Sql,Laravel,我有个问题。假设我有两个收藏;CompanyOrders和User需要做一个循环来获取公司订单中涉及的所有用户,我该怎么做?下面将以foreach格式提供我正在寻找的查询示例 $companyOrders = CompanyOrders::where('id', $company_id)->get(); $users = []; foreach($companyOrders as $companyOrder){ $user = User::where('id', $companyOrd
$companyOrders = CompanyOrders::where('id', $company_id)->get();
$users = [];
foreach($companyOrders as $companyOrder){
$user = User::where('id', $companyOrder['user_id'])->first();
array_push($users, $user);
}
现在,除非我的$users实际上是一个集合,否则我的下一部分将无法工作。因此,问题是,是否有任何方法可以查询此信息,以便$users=User::WHERE筛选处于各种不同公司订单中的所有用户,并向我提供所有回报->获取
注意事项
CompanyOrders有用户id,它是CompanyOrders表和users表之间的链接
谢谢您的时间,我将非常感谢您提供的任何帮助!干杯 如果你已经建立了
在模型用户中:
公共职能公司
{
返回$this->hasMany\App\CompanyOrders::class;
}
在您的CompanyOrders模型中:
公共功能用户
{
返回$this->belongsTo\App\User::class;
}
您可以使用查找按$company\u id拥有这些companyOrders的用户:
用户::whereHas'companyOrders',函数$query使用$company\u id{
$query->where'id',$company\u id;
}
->得到;
你试过了吗?你希望得到什么样的结果?只是用户?嗯,这很相似,但它没有使用$company\u id。$company\u id在本例中用于获取CompanyOrders的所有实例。我需要通过user_id对其进行过滤。在companyorders表中,有一列名为user_id@UdhayanNair那么,你想让用户和他们的公司合作吗?参数是user_id?是的,基本上是这样的。在用户表中,有一个id。在companyorders中,当我这样过滤它时$companyOrders=companyOrders::where'id',$company\u id->get;它返回具有各种不同用户id的项的集合。假设集合中有10个项目,可能有10个不同的用户id。现在我需要从我的用户表中获取一个名为$users的集合,该集合具有以下10个id。这有意义吗?@UdhayanNair所以我认为这就是答案,whereHas将使用$company来过滤具有$company\u id的company\u订单,然后使用这些集合的用户id来查找用户……但是在我的用户表中,我没有$company\u id,因此会进行查询$查询->其中的'id',$company\u id;工作它应该获取类似$query->where'id',$companyOrders['user_id']的内容;正当但是有各种各样的用户id