2011-12-17 84 views
0

我有一個Yii控制器操作,它可能會返回一組非常大的行,然後將其編碼爲JSON。由於我正在構建的客戶端只需要模型的幾個列或屬性,因此我想剝離該集合以僅返回某些列。我現在已經是這樣的:按屬性劃分一大組模型

$models = MyModel::model()->findAll($criteria); 
$rows = $model->attributes; 
$this->_sendResponse(200, CJSON::encode($rows)); 

我覺得這樣做會在第二行的地方,但我是新來的Yii,不知道如何做到這一點。任何幫助表示讚賞!

回答

2

也許你不能刪除不必要的列,但發送必要的?

$models = MyModel::model()->findAll($criteria); 
// do foreach loop with $models ? 

$dataToSend = array() 
$dataToSend['id'] = $model->id; 
$dataToSend['name'] = $model->name; 
$dataToSend['moreparam'] = $model->moreparam; 

//send data 
$this->_sendResponse(200, CJSON::encode($dataToSend)); 

所以這段代碼更具可讀性,我們知道我們發送了什麼。如果你以後使用刪除某些屬性,也許你會忘記你要離開的東西。

+0

完美。謝謝! – 2011-12-18 00:23:34