2012-09-30 28 views
0

我有一個數據庫表中,並從該表我要選擇1名註冊,使用UPDATE場,等來選擇1名註冊:的Yii:如何用最好的方法

select * from website order by update asc limit 1; 

有沒有更好的加載註冊比使用createCommand更方便嗎?

一旦我加載註冊,如何更新更新字段?

我寧願使用Active Records。

+0

參考文獻:許多人認爲活動記錄模式是一種反模式,它會導致廣泛的[技術債務](http://martinfowler.com/bliki/TechnicalDebt.html)並違反[SRP](http:// en.wikipedia.org/wiki/Single_responsibility_principle)。 –

回答

3

您可以使用與CDbCriteria和的CActiveRecord模型,像這樣一個數據庫表中選擇一個行:

$criteria = new CDbCriteria; 
$criteria->order = '`update` ASC'; 
$model = Registration::model()->find($criteria); 

假設你的模式被稱爲「註冊」。

請參閱CDbCriteria的order屬性和CActiveRecord的find()方法的手冊。

然後,您可以編輯的記錄,就像你可以與任何其他活動記錄,並保存像往常一樣,即

$model->update = new CDbExpression('NOW()'); 
$model->save(); 

(或任何你想設置的「更新」字段設置爲)

參考文獻:
+0

10x,我在這裏學到了新東西 –

+0

沒問題,很高興幫忙!看一看'權威指南'的[Active Records](http://www.yiiframework.com/doc/guide/1.1/en/database.ar)部分,那裏有很多好東西。 – Stu