Как получить все теги, которые НЕ связаны с сообщениями в CakePHP

Я веду блог на CakePHP, поэтому в моей базе данных есть две таблицы, связанные с HABTM: посты и теги. Поскольку они связаны с HABTM, у меня также есть таблица почтовых тегов, отслеживающая отношения.

Я хотел бы иметь метод в моем tags_controller, который удалит все неиспользуемые теги.

Как найти все теги, которые НЕ связаны ни с какими сообщениями?


person Community    schedule 20.09.2009    source источник
comment
привет, мистер anderstornvig, подскажите, пожалуйста, как вам удалось добавить несколько тегов, связанных с сообщением. Я пытаюсь добиться той же функциональности, но не смог сделать это должным образом. благодаря.   -  person Gaurav Sharma    schedule 20.10.2009


Ответы (1)


Вы можете использовать следующую инструкцию для удаления всех неиспользуемых тегов:

$this->query('delete from tags where not exists (select * from posts_tags where posts_tags.tag_id = tags.id)');

(И чтобы найти все теги, не связанные с какими-либо сообщениями, просто замените «удалить» на «выбрать *»)

person dhofstet    schedule 20.09.2009
comment
Спасибо, это работает. Тем не менее, я все еще готов принять ответ в стиле cakephp. - person ; 20.09.2009