2014-02-06 27 views
1

我正在使用下面的Active Record查詢獲取記錄,但下面的查詢選擇所有可能的列。我想只選擇2列(名字,姓氏)YIi活動記錄選擇固定字段

Profile::model()->findByAttributes(array('id'=>'1')) 

選擇以下作品只有名字,我怎麼可以添加也姓氏在聲明以選擇不使用CDBCriteria

$first = Profile::model()->findByAttributes(array('user_id'=>'1'))->firstname 

其次,我還將關係用於延遲加載記錄,並在需要時使用,還有隻需要的選擇字段將提高整體性能。

+0

你爲什麼要避免CDBCriteria?使用CDBCriteria,你可以很容易地得到選定的列。 –

+0

這樣的代碼遍及整個代碼,並且添加一個標準將會像你所建議的那樣整齊。 – fortm

回答

1

不使用CDBCriteria,你可以做如下

$first=Profile::model()->find(array(
    'select'=>'firstname,lastname', 
    'condition'=>'user_id=:uid', 
    'params'=>array(':uid'=>1), 
));