我在CakePHP中做博客,所以我在我的数据库中有两个与HABTM相关的表:帖子和标签。因为他们是HABTM相关的我也有关系的poststags表保持跟踪。如何获取所有CakePHP中没有帖子关联的标签
我想在我的tags_controller中有一个方法,它将删除所有未使用的标签。
如何找到不与任何职位相关联的所有标签?
我在CakePHP中做博客,所以我在我的数据库中有两个与HABTM相关的表:帖子和标签。因为他们是HABTM相关的我也有关系的poststags表保持跟踪。如何获取所有CakePHP中没有帖子关联的标签
我想在我的tags_controller中有一个方法,它将删除所有未使用的标签。
如何找到不与任何职位相关联的所有标签?
您可以使用下面的语句删除所有未使用的标签:
$this->query('delete from tags where not exists (select * from posts_tags where posts_tags.tag_id = tags.id)');
(并找到不与任何职位相关联的所有标签只需更换“删除”和“选择*”)
谢谢你,它的工作原理。我还是愿意接受更多的“CakePHP的风格”的回答,虽然。 – anderstornvig 2009-09-20 19:28:33
伟大的查询,谢谢! – kicaj 2013-08-20 15:24:14
$this->Tag->find('all', array(
'conditions' => array(
'PostsTag.id IS NULL'
),
'joins' => array(
array(
'table' => 'poststags',
'alias' => 'PostsTag',
'type' => 'LEFT',
'conditions' => array(
'PostsTag.tag_id' => 'Tag.id',
),
),
),
));
您好Mr. anderstornvig, 您能否引导我如何设法添加与帖子相关的多个标签。我正在尝试实现相同的功能,但无法正确执行。 谢谢。 – 2009-10-20 07:08:32