この記事では、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 サイトに注目してください。