CakePHP hasMany - принадлежитTo - hasMany отношения - PullRequest
1 голос
/ 18 августа 2011

У меня немного более сложная система ... У меня есть

  • модель пользователей - hasMany Ads
  • модель объявлений - hasMany "placads"
  • модель плакатов- принадлежит объявлениям и местам * модель 1008 *
  • мест - hasMany плакаты

Теперь я запускаю запрос, подобный этому:

    $this->set(
        'ad',
        $this->User->Ad->find(
            'all',
            array(
                'conditions' => array('Ad.user_id' => $this->Auth->user('id'))
            )
        )
    );

, и я получаю это без "Разместить"в * mark

[0] => Array
    (
        [Ad] => Array
            (
                [id] => 1
                [user_id] => 1
                [name] => bota
            )

        [Placad] => Array
            (
                [0] => Array
                    (
                        [id] => 1
                        [ad_id] => 1
                        [place_id] => 1
                        [count] => 10
                        *[Place] => Array
                        (
                            info about place
                        )*
                    )

                [1] => Array
                    (
                        [id] => 2
                        [ad_id] => 1
                        [place_id] => 2
                        [count] => 20
                        *[Place] => Array
                        (
                            info about place
                        )*
                    )

            )

    )

Что я должен сделать, чтобы получить что-то вроде того, что я написал в * mark?

Заранее спасибо!

1 Ответ

4 голосов
/ 18 августа 2011

использовать рекурсив:

http://book.cakephp.org/view/1063/recursive

$this->User->Ad->recursive = 2; // before find

альтернативно:

$this->User->Ad->find( 'all', 
    array(
        'recursive' => 2,
        'conditions' => array('Ad.user_id' => $this->Auth->user('id'))
    )
)

номер 2 - это пример, но в вашем случае это нужно сделать

2-ой вариант:

использовать Containable

http://book.cakephp.org/view/1323/Containable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...