Получить резьбовые результаты для связанной модели в CakePHP - PullRequest
0 голосов
/ 04 мая 2011

У меня есть 2 таблицы базы данных, которые связаны следующим образом:

ProjectProduct hasMany Bde
Bde belongsTo ParentBde / Bde hasMany ChildBde

Первая ассоциация является новой и должна быть добавлена ​​в приложение сейчас.С тех пор я использовал $this->Bde->find('threaded') для получения многопоточного массива этих записей.

Теперь мне нужно / я хочу запросить таблицу ProjectProduct и хотел использовать поведениеableable для получения всех связанных Bdes.

Теперь я задаюсь вопросом: возможно ли (в виде Cake) по-прежнему получать многопоточные результаты с вызовом find на ProjectProduct?Я попытался сделать $this->ProjectProduct->find('threaded', array('contain' => 'Bde')), но это попытается получить многопоточные результаты для ProjectProduct.

Я ожидаю массив, подобный этому:

Array (
    [ProjectProduct] => Array (
        [id] => 17,
        [Bde] => Array (
            [0] => Array (
                [id] => 1,
                [project_product_id] => 17,
                [children] => Array()
            )
        )
    )
)

1 Ответ

0 голосов
/ 04 мая 2011

Поскольку я не смог найти никакой информации о том, как это можно сделать одним вызовом или способом «Cakish», я сделал это так:

$project_products = $this->Project->ProjectProduct->find('all');
    foreach ($project_products as $key => $project_product) {
        $project_products[$key]['Bde'] = $this->Project->Bde->find('threaded', array('conditions' => array('Bde.project_product_id' => $project_product['ProjectProduct']['id'])));
    }

Если у кого-то есть лучший способ сделать это, я действительно ценю любые другие идеи!

...