【问题标题】:CakePHP HABTM w/ FindAll using ContainableCakePHP HABTM w/ FindAll 使用 Containable
【发布时间】:2011-12-06 02:55:01
【问题描述】:

我的容器正在工作,但我需要从 HABTM 关系中添加一个条件。

Company 与 State 有 HABTM 关系(companies_states 表)。

在下面的方法中,我需要检查 state_id = 1 (请参阅我的评论条件)。我不知道如何在我的 Containable 中包含 Companies_states,以便对结果进行限定。

function company_list() {
   return $this->PlanDetail->find('all', array(
      'fields'  => array('id', 'company_id'), 
      'contain' => array('Company' => array(
         'fields' => array('id', 'name',     'short_name')), 
         'State' => array(
            'fields' => array('id')
         )
      ),
      //'conditions' => array('state_id' => 1),
      'group'   => 'Company.name',
      'order'   => array('Company.name ASC')
   ));
} 

【问题讨论】:

    标签: cakephp conditional has-and-belongs-to-many


    【解决方案1】:

    我认为你不需要做任何特别的事情......只需在 state_id 前面添加 Company

    function company_list() {
       return $this->PlanDetail->find('all', array(
          'fields'  => array('id', 'company_id'), 
          'contain' => array('Company' => array(
             'fields' => array('id', 'name',     'short_name')), 
             'State' => array(
                'fields' => array('id')
             )
          ),
          'conditions' => array('Company.state_id' => 1),
          'group'   => 'Company.name',
          'order'   => array('Company.name ASC')
       ));
    } 
    

    【讨论】:

    • 但是您没有在字段 cmets 的任何地方拉取 state_id 字段,您不应该这样做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    相关资源
    最近更新 更多