mysql - where 子句 laravel 中的内部查询
问题描述
我有一个数据库,其中有两个表driver_company_map
,company
我所做的是我company_code
从driver_company_map
表中获取并将它传递到另一个查询的 where 子句中,我在company
表上执行我的两个单独的查询就像这样
$result = DB::connection($this->masterDb)->table('driver_company_map')
->where('driver_code', $driverCode) //i get the $driverCode from function parameter
->select('company_code')
->first();
$companyCode = $result->company_code;
我$companyCode
在下面的查询中使用上面的
$result = DB::connection($this->masterDb)->table('company')
->where('code', $companyCode)
->select('db_connection')
->first();
$clientDb = $result->db_connection;
上面的逻辑工作正常,但我希望两者都作为嵌套查询我试过但没有给出正确的结果下面是我的代码
$result = DB::connection($this->masterDb)->table('company')
->where('code', function($companyCode_query){
$companyCode_query->select('company_code')
->from('driver_company_map')
>where('driver_code', $driverCode);
})->get()
->select('db_connection')
->first();
$clientDb = $result->db_connection;
解决方案
尝试这个:
$result = DB::connection($this->masterDb)->table('company')
->select('db_connection')
->join('driver_company_map', 'company.code', 'driver_company_map.company_code')
->where('driver_company_map.driver_code', $driverCode)
->first();
推荐阅读
- pandas - Pandas 使用字典将空替换为基于列的值
- node.js - 在架构中引用 objectId 和其他参数的最佳方法是什么?
- php - 科学数字的格式
- sqlite - 从递归查询的结果创建表(with 语句)
- python - 如何在 Python 的 Pandas 中用我想要的东西替换特定列的子字符串?
- python - 如何在 Seaborn 图上画一个圆?
- xpath - XPATH:选择其子节点不包含某些文本的节点
- r - rstudio 中出现意外的“=”
- ios - 当AKPlayer到达指定时间时如何得到通知
- python-3.x - 为什么我在if语句中调用函数时没有响应?