欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法

 更新時(shí)間:2014年09月05日 09:27:13   投稿:shichen2014  
這篇文章主要介紹了Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法,非常實(shí)用的技巧,需要的朋友可以參考下

本文以實(shí)例形式展示了Yii使用find findAll查找出指定字段的實(shí)現(xiàn)方法,分享給大家供大家參考之用。具體方法如下:

總所周知,采用如下方法:

modelName::model() -> find()    //找出的是一個(gè)對象
modelName::model() -> findALL()  //找出的是一個(gè)對象集合的數(shù)組

可以找出對象與對象集合的數(shù)組,那么如何找出我所需要的字段的數(shù)據(jù),而不是全部字段的數(shù)據(jù)呢?之前我是這么做的:

$criteria = new CDbCriteria;
$criteria->select = 'username,id,email';
$criteria->order = 'id DESC';
$users = modelName::model()->findAll( $criteria );

后臺(tái)無意中看到別人有這么寫的,方法很不錯(cuò):

$users = modelName::model()->findAll(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC', 
));

測試后發(fā)現(xiàn)果然可以用,那么find也可以這么操作:

$user = modelName::model()->find(array(
  'select' =>array('username','id','email'),
  'order' => 'id DESC',
  'condition' => 'id='.$id,
));

當(dāng)然了,這么做肯定不安全了,換成下面的方法同樣可以:

$users = $this->user->find(array(
  'select'=>array('id','username','email'),
  'order' => 'id DESC',
  'condition' => 'state=:state AND id=:id',
  'params' => array(':state'=>'1',':id' => '2'),
));

同理用findAll測試了也可以。

結(jié)論:

通過這種方法能夠很方便的獲取所需要的數(shù)據(jù),當(dāng)然需要分頁的時(shí)候還是 需要 new 一下 CDbCriteria 的。

希望本文所述對大家采用Yii進(jìn)行數(shù)據(jù)庫程序設(shè)計(jì)能有所幫助。

相關(guān)文章

最新評(píng)論