SQLSTATE [HY093]: неверный номер параметра для левого соединения - PullRequest
0 голосов
/ 22 апреля 2020
$teacherStats = DB::table( DB::raw("({$payableContracts->toSql()}) as payable") )
        ->select('payable.teacher_id')
        ->selectRaw("CONCAT(first_name, ' ', last_name) as full_name,
            SUM(total_direct_benefit + total_indirect_benefit) AS total_benefit,
            SUM(teachers_direct_share + teachers_indirect_share) as teachers_share"
        )
        ->selectRaw("DATE('$wageFrom') as wage_from, DATE('$wageTo') as wage_to") 
        ->mergeBindings($payableContracts)
        ->join('users', 'payable.teacher_id', 'users.id')
        ->groupBy('payable.teacher_id')

$result = DB::table(DB::raw("({$teacherStats->toSql()}) as stats"))
        ->leftJoin('teacher_wages', function ($join) use ($wageFrom, $wageTo){
            $join->on('stats.teacher_id', '=', 'teacher_wages.teacher_id')
                ->where('teacher_wages.from', $wageFrom)
                ->where('teacher_wages.to', $wageTo)
                ->where('teacher_wages.contracts_type', 'percentage-based');
        });

У меня есть $ teacherStats в качестве запроса, и когда я получаю и dd () результат, он просто отлично работает. Этот запрос сложный, но результат так же прост:

 [▼
  0 => {#591 ▼
    +"teacher_id": 2
    +"full_name": "Tom Cruz"
    +"total_benefit": "126000"
    +"teachers_share": "25200"
    +"wage_from": "2020-04-01"
    +"wage_to": "2020-04-03"
  }
  1 => {#594 ▼
    +"teacher_id": 5
    +"full_name": "John Reno"
    +"total_benefit": "296000"
    +"teachers_share": "103600"
    +"wage_from": "2020-04-01"
    +"wage_to": "2020-04-03"
  }
]

Проблема в приведенном выше запросе $ result, который преобразует $ teacherStats в sql в качестве псевдонима и выполняет простое соединение с другим Таблица. Я получаю эту ошибку:

SQLSTATE [HY093]: недопустимый номер параметра

без подсказки, к какому параметру и номеру он относится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...