Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询,或雄辩的foreach循环查询_Sql_Laravel - Fatal编程技术网

SQL查询,或雄辩的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和User需要做一个循环来获取公司订单中涉及的所有用户,我该怎么做?下面将以foreach格式提供我正在寻找的查询示例

$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