【问题标题】:How can I look in different table to see if a page is active?如何查看不同的表格以查看页面是否处于活动状态?
【发布时间】:2014-01-02 03:48:10
【问题描述】:

“条件”的一些困难

我有一个表 Tags 字段:id, 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')));
}

问题是,我不想显示与离线页面关联的标签。

然后在我的 aboce 中,我应该使用类似 $this->loadModel('PageTag'); 的方式来获取关联页面的 Id 和第二个 $this->loadModel('Page');

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

我们可以一次完成吗? 我怎样才能简单地做到这一点? 如何同时查看两张表?

【问题讨论】:

    标签: php mysql inner-join cakephp-2.3 jointable


    【解决方案1】:

    您需要使用模型关系将模型链接在一起。阅读有关它的手册或在此处查看我对此主题的回答: CakePHP 1.3 - Unknown column in where clause

    在您的情况下,PagesTags hasOne Page 和 hasMany Tags。您将把这些关系写入模型。此外,您将写入具有一个 PagesTags 的 Tags 模型,该模型将依次检索关联的 Page。

    完成所有这些后,您无需调用loadModel,只需查询Tag,它将隐式加入关联的PagesTags和Page记录,因此您可以将其放入您的条件中:

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

    【讨论】:

    • 感谢您的回答。我尝试了一些东西,并在上面写了我的更改。它不起作用。
    【解决方案2】:

    我认为表格的关系是HABTM,所以你必须查看这个组件来搜索http://bakery.cakephp.org/articles/Kumazatheef/2008/10/22/habtm-searching

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 2010-12-10
      相关资源
      最近更新 更多