1

2 つのモデル間に HABTM 関連付けがありますが、find で返されるレベルは 1 つだけです。他の関連付けでいくつかのレベルを返すことができますが、HABTM では何かが欠けているに違いないと思います。

コントローラー/SchedulesController.php

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

Model/Schedule.php

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

モデル/Association.php

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

現時点では、私は...

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

...しかし、スケジュール -> 関連付け -> スケジュールを希望します

4

1 に答える 1

-1

contain() は機能するはずですが、もう 1 つのオプションは、recursive次のように検索の前にオプションを使用することです。

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

同様の質問がここで尋ねられたことにも言及する価値があります。

于 2013-04-19T01:41:19.103 に答える