Через средства xPDO, твой вариант при использовании AND вообще ничего не вернет, т.к мы не можем ставить условие чтобы у 1 строчки tv_name был и 'name1' и 'name2' одновременно(AND), вот это и встало мне в горле когда уже открыл топик) в топике я указал мнимые UPD блоки в которых добавил наблюдения, решением послужил запрос:
$c = $modx->newQuery('modResource'); $c->leftJoin('modTemplateVarResource', 'TemplateVarResources'); $c->leftJoin('modTemplateVar', 'tv', "tv.id=TemplateVarResources.tmplvarid"); $c->where(array( array( "tv.name" => 'icon', "TemplateVarResources.value" => "example-icon", ), array( "AND:tv.name:=" => 'isCosmos', "TemplateVarResources.value" => "IS", ), ));
SELECT * FROM `modx_site_content` AS `resource` INNER JOIN `modx_site_tmplvar_contentvalues` AS `val` ON `val`.`contentid` = `resource`.`id` INNER JOIN `modx_site_tmplvars` AS `tv` ON `tv`.`id` = `val`.`tmplvarid` WHERE ( (tv.name = `icon` AND val.value = `example-icon`) AND (tv.name = `isCosmos` AND val.value = `IS`) )