Помощь с запросом xpdo
Добрый вечер! Столкнулся с проблемой запроса.
Есть две связанных один-ко-многим таблицы TechnicalSolutions (главная) и SubcategorySolution(подчиненная).
Делаю запрос, выдает 0 записей.
ЗЫ: Вот препарированый запрос, но вроде все нормально
Есть две связанных один-ко-многим таблицы TechnicalSolutions (главная) и SubcategorySolution(подчиненная).
$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'
Комментарии: 1
А в чем смысл where в данном случае? У вас таблицы джойнятся по этому же условию.
ЗЫ: Вот препарированый запрос, но вроде все нормальноКак раз запрос-то и неправильный. В данном случае, в инстукции WHERE справа должна быть скалярная величина. А если вы хотите связать поля 2-х таблиц (т.е. тот же джойн), то уберите JOIN, а в FROM добавьте эту вторую таблицу.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.