ホームページ  >  記事  >  バックエンド開発  >  Yii は findAll を使用して、指定されたフィールドの実装メソッドを見つけます。

Yii は findAll を使用して、指定されたフィールドの実装メソッドを見つけます。

高洛峰
高洛峰オリジナル
2017-01-21 11:14:491508ブラウズ

この記事では、find findAllを使って指定されたフィールドを検索するYiiの実装方法をサンプル形式で示し、皆さんの参考に共有します。具体的な方法は次のとおりです:

ご存知のとおり、次のメソッドが使用されます:

modelName::model() -> find()    //找出的是一个对象
modelName::model() -> findALL()  //找出的是一个对象集合的数组

はオブジェクトとオブジェクトのコレクションの配列を見つけることができます。では、必要なフィールドのデータではなく、どのようにしてデータを見つけることができるのでしょうか。全フィールドのデータ?これは私が以前にやったことです:

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

他の人がバックグラウンドでこれを書いているのを偶然見ました:

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

テストした後、find もこれを実行できることがわかりました。 :

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

もちろん、これを行うのは絶対に安全ではありません。次のメソッドを使用することもできます:

$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 を使用してテストすることもできます。

結論:

もちろん、ページングが必要な場合でも、この方法で必要なデータを簡単に取得できます。

この記事が Yii をデータベースプログラミングに使用するのに役立つことを願っています。

find findAll を使用して指定されたフィールドを検索する方法に関するその他の Yii 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。