Как выбрать ресурсы с 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, то выводит верно, т.е. код работает.
Как выбрать товары с пустым полем?
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Если я правильно понял, то в вашем случае должна помочь инверсия. Нужно сначала найти те значения TV, которые уже установлены (существуют в таблице), получить из них значения contentid и полученный массив id ресурсов передать в условие выборки ресурсов NOT IN (resourceid1,resourceid2,...).