0

我还是 Yii 的新手,想知道如何从$models = MyModel::model()->findAll();.

比如说,以 ONE:MANY 的方式MyModel有一个关系。MyChildModels

直接来自 Yii 网站上的 Rest 示例,我有:

foreach ($models as $model) {
    $rows[] = $model->attributes;
}

$this->_sendResponse(200, CJSON::encode($rows), 'application/json');

我得到了模型的所有属性,但没有得到连接的关系属性。

同样,我可以将$rows行更改为:

$rows[] = $model->myChildModels;

...我得到myChildModels每个模型的所有属性,但没有任何属性(如我所料)。

但我想要的是全套 -Model属性加上所有的myChildModels属性和它们的属性。

我该如何做到这一点?

4

1 回答 1

5

我对 Yii 做同样的事情。这是我的做法。

$models = MyModel::model()->findAll();
    if ($models){
    echo CJSON::encode($models);
    }

我通常不发送 JSON 标头,但如果您愿意,可以发送。

header('Content-type: application/json');

对于相关模型试试这个。

foreach ($models as $model) {
        $rows[] = $model->attributes;               
        $rows[] = $model->related->attributes;
    }
于 2012-04-17T03:32:14.023 回答