我正在Laravel控制器中构建此查询;
$payments = DB::table('payments')->leftJoin('postcodes.201502_postcode', 'payments.Vendor ZIP', '=', '201502_postcode.postcode');
foreach ($input as $key => $value) {
$payments = $payments->leftJoin('postcodes.pc_'.$key, '201502_postcode.'.$key, '=', 'pc_'.$key.'', 'code');
}
foreach ($input as $key => $value) {
$payments = $payments->orWhereIn('pc_'.$key.'.code', $input[$key]);
}
$payments = $payments->select('Vendor ZIP' , 'Input RAC' , 'Input LPC Code' , 'Input UIN Code')->get();
示例$input
看起来像这样;
Array
(
[county] => Array
(
[0] => E10000003
[1] => E10000006
)
[locauth] => Array
(
[0] => E07000223
[1] => E07000032
)
[parlc] => Array
(
[0] => W07000058
[1] => S14000003
)
)
共有5个字段。但并非所有五个字段都是必需的。在上面,“用户”仅搜索3例如。
我得到的错误是Unknown column 'pc_county' in 'on clause'
。我不确定在哪里放点。我可以逃脱这些点吗?
它变得令人困惑,因为201502_postcode
表位于postcodes
数据库中......并且该表具有postcode
字段。 pc_xxxxx
表也位于同一个postcodes
数据库中。
这是与payments
表的单独数据库。