лучший способ получить связанные данные из моделей в yii и вернуть json

Привет, просто вопрос

Я работаю над успокаивающим приложением для проекта, использующего sproutcore во внешнем интерфейсе.

Мой вопрос действительно в том, каков наиболее эффективный способ получить данные из модели с другими связанными моделями, когда необходимо вернуть json. Вчера я прочитал, что рекомендуется работать со слоем DAO при работе с массивами, так что для моего примера это то, что у меня есть до сих пор.

У меня есть список клиентов, каждый клиент HAS_MANY брендов и каждый бренд HAS_MANY проектов. Не получить хорошо сформированный массив клиентов с их брендами вот что у меня есть

$clients = Yii::app()->db->createCommand('select client.* from client where client.status = 1')->queryAll();

        foreach($clients as $ckey => $client)
        {
            $clients[$ckey] = $client;
            $brand_ids = Yii::app()->db->createCommand('select brand.id as brand_id, brand.client_id as b_client_id from brand where brand.client_id ='.$client['id'])->queryAll();

            foreach($brand_ids as $bkey => $brand_id)
            {
                $clients[$ckey]['brands'][] = $brand_id['brand_id'];
            }

    }

Это возвращает то, что я хочу до сих пор, но является ли это наиболее эффективным способом добиться того, что я буду делать после ??

5
задан Mike Waites 28 June 2011 в 09:01
поделиться