Ой понял сори, я то полагался на пред-просмотр, а

Ой понял сори, я то полагался на пред-просмотр, а в нем криво отображается содержимое тега code). Как я понял еще, мы друг друга сейчас вообще не понимаем) прям какой-то барьер) Механизм я понимаю, я знаю что xPDOQuery это абстракция SQL запроса — разница лишь в подходе(ООП) его организации, так-же как и xPDOObject представление объекта. Когда я писал:

Через средства 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`)
)

То-есть когда нам нужны ресурсы у которых оба(или более) поля чему то равны, запрос всегда будет возвращать 0 строк, даже если и будут ресурсы с обоими TV параметрами в БД, проверь сам) Делая такой запрос с OR, мы получим ресурсы в которых какое либо указанное TV поле соответствует критерии — ну все верно ведь оператор OR.