Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 04.08.2017 20:42:44

Вложенный запрос с whereColumn и where

Подскажите пожалуйста, не получается во вложенном запросе сделать выборку whereColumn и where. Выводит ошибку SQLSTATE[HY093]: Invalid parameter number .

$table2 = DB::table('table2 as t2')->select(DB::raw('count(*)'))
            ->where('t2.status', '=', 'ok') // <== ВОТ ИЗ ЗА ЭТОГО ОШИБКА
            ->whereColumn('t2.table1_id', 'table1.id');

$table1 = DB::table("table1")
            ->select(DB::raw(...
            ({$table2->toSql()}) as t2,
            ..."));

Причем если сделать $table2 = Table2::select(...) и в $table1 добавить ->mergeBindings($table2->getQuery()), то тогда в $table1 не работает ->where(...). Подскажите в чем причина.

Не в сети

#2 10.08.2017 01:35:19

Alexsaab
Откуда: Москва
Сообщений: 92

Re: Вложенный запрос с whereColumn и where

Попробуйте таблицы table1 и table2 связать через join (leftJoin).


Давайте пример что нужно сделать на SQL и на пальцах с примерами данных если хотите конкретики. smile

Не в сети

Подвал раздела