Такой вопрос. С помощью Bulk Operations хочу выловить все ноды, которые не относятся к какой либо группе (og) (затем с помощью фильтра по термину таксономии, отобрать и добавить материалы в определенную группу)
Стиль: Bulk Operations, в настройках отмечаю галкой "Add post to the specified group (og_add_group_action)"
Также есть фильтры, чтобы не показывать темы форума
вот собственно запрос
node.title AS node_title
FROM node node
LEFT JOIN og_ancestry og_ancestry ON node.nid = og_ancestry.nid AND (og_ancestry.group_nid = 8078 OR og_ancestry.group_nid = 7310 OR og_ancestry.group_nid = 2222 OR og_ancestry.group_nid = 7312 OR og_ancestry.group_nid = 7328 OR og_ancestry.group_nid = 7263 OR og_ancestry.group_nid = 7314 OR og_ancestry.group_nid = 7311 OR og_ancestry.group_nid = 7316 OR og_ancestry.group_nid = 7861 OR og_ancestry.group_nid = 7326 OR og_ancestry.group_nid = 7862 OR og_ancestry.group_nid = 7317 OR og_ancestry.group_nid = 15511)
WHERE (node.type not in ('forum', 'cv', 'idea', 'job', 'ka', 'simplenews')) AND (og_ancestry.group_nid IS NULL)
При сохранении этого вида, настройки сбрасываются вообще.
Что я делаю не так? запрос сложный или поставил взаимоисключащие условия
Комментарии
А среди разработчиков SQL вообще не котируется что ли?
Это должно быть в WHERE clause, а не в FROM clause, как Вы написали:
AND (og_ancestry.group_nid = 8078 OR og_ancestry.group_nid = 7310 OR og_ancestry.group_nid = 2222 OR og_ancestry.group_nid = 7312 OR og_ancestry.group_nid = 7328 OR og_ancestry.group_nid = 7263 OR og_ancestry.group_nid = 7314 OR og_ancestry.group_nid = 7311 OR og_ancestry.group_nid = 7316 OR og_ancestry.group_nid = 7861 OR og_ancestry.group_nid = 7326 OR og_ancestry.group_nid = 7862 OR og_ancestry.group_nid = 7317 OR og_ancestry.group_nid = 15511)
И при таком "коде" должны не настройки сбрасываться, а мускул ругаться грязными словами.
"FROM clause" - не понял
у меня нет никаких clause
Я не знаю правильный этот запрос или нет, но по всем правилам он должен выглядеть так:
node.title AS node_title
FROM
node
LEFT JOIN
og_ancestry
ON
node.nid = og_ancestry.nid
WHERE
(node.type NOT IN ('forum', 'cv', 'idea', 'job', 'ka', 'simplenews'))
AND
(og_ancestry.group_nid IS NULL)
AND
(og_ancestry.group_nid = 8078 OR og_ancestry.group_nid = 7310 OR og_ancestry.group_nid = 2222 OR og_ancestry.group_nid = 7312 OR og_ancestry.group_nid = 7328 OR og_ancestry.group_nid = 7263 OR og_ancestry.group_nid = 7314 OR og_ancestry.group_nid = 7311 OR og_ancestry.group_nid = 7316 OR og_ancestry.group_nid = 7861 OR og_ancestry.group_nid = 7326 OR og_ancestry.group_nid = 7862 OR og_ancestry.group_nid = 7317 OR og_ancestry.group_nid = 15511)
странно, код то генерируется вьюс
пытался импортировать Ваш, но вьюс выругался на невозможность интерпритации
выполните этот запрос в phpmyadmin - может быть ошибка в обращении к несуществующему полю таблицы или еще что.
видимо что у меня с Bulk Operations, в настройках отмечаю галкой "Add post to the specified group (og_add_group_action)"
в фильтрах ничего
запрос
node.title AS node_title
FROM node node
при сохранении все настройки сбрасываются