Laravel使用不同的数据库查询加入

时间:2015-06-23 14:01:20

标签: php mysql laravel laravel-5

我正在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表的单独数据库。

0 个答案:

没有答案