1

我在两个模型之间有 HABTM 关联,​​但只能找到返回一个级别。我可以通过其他关联返回多个级别,但我认为我必须在 HABTM 中遗漏一些东西。

控制器/SchedulesController.php

$this->Schedule->find('first', array(
  'contain' => array(
    'Association' => array(
      'Schedule'
    )
  )
));

模型/Schedule.php

public $actsAs = array('Containable');
public $hasAndBelongToMany = array(
  'Association'
);

模型/关联.php

public $actsAs = array('Containable');
public $hasAndBelongsToMany = array(
  'Schedule'
);

目前我只得到...

array(
  'Schedule' => array(
     ...
  ),
  'Association' => array(
    (int) 0 => array(
      ...
    'AssociationsSchedule' => array(
      ...
    )
  )
)

...但我想要时间表 -> 协会 -> 时间表

4

1 回答 1

-1

虽然 contains() 应该可以工作,但另一个选项是recursive在 find 之前使用该选项,如下所示:

$this->Schedule->recursive = 3; //2 might work, but I think you need 3 levels
$this->Schedule->find('first');

还值得一提的是,这里也提出了类似的问题。

于 2013-04-19T01:41:19.103 回答