yii フレームワークでのデータベースクエリデータメソッドの概要。
(1)$result=Yii::app()->dbName->createCommand($sql)->queryRow();
空でない場合、返される結果セットは 1 次元配列です。コード内の dbName はデータ テーブルが配置されているライブラリの名前で、$sql には任意の SQL ステートメントを指定できます。
(2)$result=Yii::app()->dbName->createCommand($sql)->queryAll();
空でない場合、返される結果セットは 2 次元配列です。コード内の dbName はデータ テーブルが配置されているライブラリの名前で、$sql には任意の SQL ステートメントを指定できます。
(3)$result=Region::model()->findByPk($id);
空でない場合、返される結果はオブジェクトです。コード内の領域は、models ディレクトリに保存されている Region.php ファイルを表します。ここでの $id の値は、Region.php で定義されている主キーと同じ値を表します。
(4)$result=Region::model()->findAll($condition,$params);
例: findAll("username=:name",array(":name"=>$username));
返される結果セットは、空でない場合は 2 次元配列であり、配列の最初の次元の結果セットはオブジェクトです。
(5)$admin=User::model()->findAllByPk($postIDs,$condition,$params);
例: findAllByPk($id,"name like ':name' and age=:age",array(':name'=>$name,'age'=>$age));
このメソッドは、主キーに基づいてセットをクエリします。返された結果セットが空でない場合、配列の結果セットの最初の次元はオブジェクトになります。 findAllByPk(array(1,2));
のように、複数の主キーを使用することもできます。(6)$admin=User::model()->findAllBySql($sql,$params);
返された結果セットが空でない場合、配列の結果セットの最初の次元はオブジェクトになります。
findAllBySql("select * from admin where username=:name",array(':name'=>'admin'));
(7)$post=Post::model()->findBySql($sql,$params);
返された結果セットは空でない場合はオブジェクトであり、クエリ結果はデータの最初の部分にすぎません。例:
findBySql("select * from user where username=:name",array(':name'=>'phpernote.com'));
(8)$row=User::model()->find($condition,$params);
返された結果セットは空でない場合はオブジェクトであり、クエリ結果はデータの最初の部分にすぎません。例:
find('username=:name',array(':name'=>'admin'));
または:
find(array('condition'=>'user_id=:user_id','params'=>array(':user_id'=>$uid)));
(9)$admin=User::model()->findByAttributes($attributes,$condition,$params);
このメソッドは、条件に基づいてデータをクエリします。条件は配列に入れられます。クエリ結果セットは次のような 1 つのデータのみを持ちます。
findByAttributes(array('username'=>'admin'));または:
(10)$admin=User::model()->findAllByAttributes($attributes,$condition,$params);
(9)
// クエリ条件が非常に複雑な場合は、CDbCriteria クラスを使用する必要があります
$criteria=新しい CDbCriteria;
$criteria->select='タイトル';
$creteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria) // 2 番目のパラメーターは必要ありません
$post=Post::model()->find(
配列(
'選択'=>'タイトル',
'条件'=>'投稿ID=:投稿ID',
'params'=>array(':postID'=>10)
)
);
1. $n=Post::model()->count($condition,$params);
このメソッドは、条件に基づいてコレクションに含まれるレコードの数をクエリし、次のような int 数値を返します。
count("ユーザー名=:名前",array(":名前"=>$ユーザー名));
このメソッドは、SQL ステートメントに従ってコレクションに含まれるレコードの数をクエリし、次のような int 型の数値を返します。
countBySql("select * from admin where username=:name",array(':name'=>'admin'));
3. $exists=Post::model()->exists($condition,$params);
このメソッドは、取得した配列にデータがあるかどうかを条件に基づいて問い合わせます。データがある場合は true を返し、データが見つからない場合は返します。