Посмотри еще раз внимательно мой запрос:
$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( "OR:tv.name:=" => 'isCosmos', "TemplateVarResources.value" => "IS", ), ));
Там не AND:, там OR:. И формируется вот такой SQL-запрос:
SELECT modResource.* FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TemplateVarResources` ON `modResource`.`id` = `TemplateVarResources`.`contentid` LEFT JOIN `modx_site_tmplvars` `tv` ON tv.id=TemplateVarResources.tmplvarid WHERE ( ( `tv`.`name` = 'icon' AND `TemplateVarResources`.`value` = 'example-icon' ) OR ( `tv`.`name` = 'isCosmos' AND `TemplateVarResources`.`value` = 'IS' ) )
Поверь, у меня есть понимание SQL-запросов :) Так что я знаю, что говорю.