Вложенные условия не блещут изяществом, и могут выполняться таким образом:
$q = $modx->newQuery('modResource');
$q->where(array(
'template' => 12
));
$q->where(array("
parent IN (
SELECT id FROM `modx_site_content`
WHERE
st_city_id IN (".implode(",",$city_ids).")
AND
st_material_id IN (28870,18819))
"));
$q->select(array(
'id'
,'st_city_id'
,'pagetitle'
));
//$q->limit(100);
$q->prepare();
//$sql = $q->toSQL();
//echo $sql;
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
//print_r($res);
Хотя эту запись можно оформить более стандартизированно, и об этом написано в заметках:
Но суть сводится к тому, чтобы создать сперва некое условие $sub_query, превратить его в сроку методом $q->toSQL(); и затем использовать его в общем так же, как описано в примере выше.
Комментарии (0)
Не писать ответ