Как выбрать ресурсы с TV c пустым значением?
Здравствуйте.
Нужно выбрать товары у которых значение ТВ поля пусто.
Пробовал разные варианты в where, везде выдает 0
Если писать 'site_id.value:!=' => null, то выводит верно, т.е. код работает.
Как выбрать товары с пустым полем?
Нужно выбрать товары у которых значение ТВ поля пусто.
Пробовал разные варианты в where, везде выдает 0
$c = $modx->newQuery('msProduct');
$c->innerJoin('modTemplateVarResource', 'site_id', [
'msProduct.id = site_id.contentid',
'site_id.tmplvarid = 23',
]);
$c->where([
'site_id.value' => null,
//'site_id.value' => '',
//'site_id.value:IS' => null,
//'site_id.value:IS' => '',
//'site_id.value:=' => null,
//'site_id.value:=' => '',
]);
$goods = $modx->getCount('msProduct', $c);Если писать 'site_id.value:!=' => null, то выводит верно, т.е. код работает.
Как выбрать товары с пустым полем?
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Если я правильно понял, то в вашем случае должна помочь инверсия. Нужно сначала найти те значения TV, которые уже установлены (существуют в таблице), получить из них значения contentid и полученный массив id ресурсов передать в условие выборки ресурсов NOT IN (resourceid1,resourceid2,...).