Вложенные условия не блещут изяществом, и могут выполняться таким образом:
$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)
Не писать ответ