ホームページ  >  記事  >  バックエンド開発  >  yii データベースクエリ操作の概要_PHP チュートリアル

yii データベースクエリ操作の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:57:391053ブラウズ

Yii データベースクエリ操作の概要

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);

返される結果セットは、空でない場合は 2 次元配列であり、配列の最初の次元の結果セットはオブジェクトです。

(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(":名前"=>$ユーザー名));

2. $n=Post::model()->countBySql($sql,$params);

このメソッドは、SQL ステートメントに従ってコレクションに含まれるレコードの数をクエリし、次のような int 型の数値を返します。
countBySql("select * from admin where username=:name",array(':name'=>'admin'));
3. $exists=Post::model()->exists($condition,$params);
このメソッドは、取得した配列にデータがあるかどうかを条件に基づいて問い合わせます。データがある場合は true を返し、データが見つからない場合は返します。

興味がありそうな記事

  • 中国語の最初の文字のピンインに従ってデータベースクエリ結果を並べ替える方法
  • php mysqlデータベース操作クラス
  • Mysqlデータベースキャッシュキャッシュ関数の分析、デバッグ、およびパフォーマンスの概要
  • Navicat mySQL データベースへの mysql リモート接続の場合 10061,1045 エラーの解決策
  • MySQL を最適化して数百万のデータのクエリ速度を向上
  • mysql サーバーのマスター/スレーブデータベース同期構成
  • MySQL の大容量データの迅速な挿入方法とステートメントのパフォーマンスの最適化
  • MySQL データベースのパフォーマンスの問題を特定、除外、回避する方法

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/980454.html技術記事 yii データベース クエリ操作の概要 yii フレームワークでのデータベース クエリ データのメソッドの概要。 (1)$result=Yii::app()-dbName-createCommand($sql)-queryRow(); 返された結果セットが次の場合は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。