如何在不同的表中查看页面是否处于活动状态


How can I look in different table to see if a page is active?

"条件"的一些困难

我有一个带有字段的表Tagsid, name, count

我有表PagesTags,其中包含字段:id, page_id and tag_id

我有几个字段的表格页面:id, name, shownmenu, onilne.

在我的TagsController中,我有一个简单的代码来提取和显示标签

function tagsList(){
    //$this->loadModel('PageTag');
    return $this->Tag->find('all',
array('order'=>'name ASC','conditions'=>array('Tag.count >= 0')));
}

问题是,我不想显示与脱机页面关联的标记。

然后在我的住所里,我应该使用类似$this->loadModel('PageTag');的东西来获得相关页面的Id和第二个$this->loadModel('Page');

获取页面状态'online' (true/false)

我们能马上做吗?我怎样才能简单地做到这一点?我怎么能在一张两张桌子上看?

您需要使用模型关系将模型链接在一起。阅读有关它的手册或在此处查看我对此主题的回答:CakePHP 1.3-where子句中的未知列

在您的情况下,PagesTags有一个页面和多个标签。您将把这些关系写入模型中。此外,您将在Tags模型中写入它有一个PagesTags,它将依次检索关联的Page。

完成所有这些之后,您不需要调用loadModel,只需查询Tag,它就会隐式地加入关联的PagesTag和Page记录,所以您可以将其放入您的条件中:

  'Page.status !=' => 'Offline'

我认为表的关系是HABTM,所以您必须查找该组件进行搜索http://bakery.cakephp.org/articles/Kumazatheef/2008/10/22/habtm-searching