Я полностью застрял с сдерживающим поведением. В моей модели User все работает отлично, и я получаю все, что мне нужно:
$this->set(
'user',
$this->User->find(
'first',
array(
'contain' => array('Ad', 'Ad.Placad', 'Ad.Placad.Place'),
'conditions' => array('User.id' => $this->Auth->user('id'))
)
)
);
выходы:
Array
(
[User] => Array
(
[id] => 1
[username] => admin
)
[Ad] => Array
(
[0] => Array
(
[id] => 1
[user_id] => 1
[Placad] => Array
(
[0] => Array
(
[id] => 5
[ad_id] => 1
[place_id] => 1
[Place] => Array
(
[id] => 1
[name] => kauf Bk
)
)
)
)
[1] => Array
(
[id] => 2
[user_id] => 1
[Placad] => Array
(
[0] => Array
(
[id] => 6
[unique] => 1-2
[ad_id] => 2
[place_id] => 1
[Place] => Array
(
[id] => 1
[name] => kauf Bk
)
)
)
)
Но вот этот:
$this->set('ad',
$this->Ad->find('first',
array(
'conditions' => array('Ad.id' => $id),
'contains' => array('Placad', 'Placad.Place'),
)
)
);
просто игнорирует таблицу Place.
Array
(
[Ad] => Array
(
[id] => 1
[user_id] => 1
[name] => bota1
)
[Placad] => Array
(
[0] => Array
(
[id] => 5
[ad_id] => 1
[place_id] => 1
)
)
)
Должен быть дополнительный массив с информацией о месте в Placad, я прав? Первый запрос работает, почему второй не работает? Я надеюсь, что приведенное описание является достаточным.
Спасибо, ребята!