Помощь с запросом xpdo

Добрый вечер! Столкнулся с проблемой запроса.
Есть две связанных один-ко-многим таблицы TechnicalSolutions (главная) и SubcategorySolution(подчиненная).
Делаю запрос, выдает 0 записей.
$c = $modx->newQuery('TechnicalSolutions');
        $c->innerJOIN('SubcategorySolution','SubcategorySolution');
        $c->where(array(
            'SubcategorySolution.solution_id' => 'TechnicalSolutions.id',
        ));
        //$c->prepare();
        //return $c->toSQL();
       
        $items = $modx->getCollection('TechnicalSolutions',$c);
        echo count($items);
Если явно укажу число вместо
'TechnicalSolutions.id'
То нормально выбирает. В чем моя ошибка, подскажите?

ЗЫ: Вот препарированый запрос, но вроде все нормально
SELECT `TechnicalSolutions`.`id` AS `TechnicalSolutions_id`, `TechnicalSolutions`.`user_id` AS `TechnicalSolutions_user_id`, `TechnicalSolutions`.`company_id` AS `TechnicalSolutions_company_id`, `TechnicalSolutions`.`resource_id` AS `TechnicalSolutions_resource_id`, `TechnicalSolutions`.`title` AS `TechnicalSolutions_title`, `TechnicalSolutions`.`description` AS `TechnicalSolutions_description`, `TechnicalSolutions`.`photo` AS `TechnicalSolutions_photo`, `TechnicalSolutions`.`solutionDescription` AS `TechnicalSolutions_solutionDescription`, `TechnicalSolutions`.`active` AS `TechnicalSolutions_active`, `TechnicalSolutions`.`createDate` AS `TechnicalSolutions_createDate` 
FROM `modx_mstr_technical_solutions` AS `TechnicalSolutions` 
JOIN `modx_mstr_subcategory_solution` `SubcategorySolution` 
ON `TechnicalSolutions`.`id` = `SubcategorySolution`.`solution_id` 
WHERE `SubcategorySolution`.`solution_id` = 'TechnicalSolutions.id'
Владимир Бабусенко
26 июня 2015, 17:08
modx.pro
718
0

Комментарии: 1

Сергей Шлоков
27 июня 2015, 06:21
+1
А в чем смысл where в данном случае? У вас таблицы джойнятся по этому же условию.

ЗЫ: Вот препарированый запрос, но вроде все нормально
Как раз запрос-то и неправильный. В данном случае, в инстукции WHERE справа должна быть скалярная величина. А если вы хотите связать поля 2-х таблиц (т.е. тот же джойн), то уберите JOIN, а в FROM добавьте эту вторую таблицу.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1