PHP Yii フレームワークのデータベース クエリ操作の概要

小云云
リリース: 2023-03-17 15:20:01
オリジナル
2391 人が閲覧しました

Yii は習得も使用も簡単です。 PHP とオブジェクト指向プログラミングの知識だけがあれば、新しいアーキテクチャやテンプレート言語を事前に学習する必要がなく、すぐに始めることができます。 Yii を使用した開発は非常に高速で、フレームワーク自体以外のアプリケーション用に記述するコーディングはほとんど必要ありません。実際、これは最も効率的な開発フレームワークの 1 つです。 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));
ログイン後にコピー

このメソッドは、主キーに基づいてセットをクエリします。返された結果セットが空でない場合、それは 2 次元配列となり、結果の最初の次元になります。配列のセットはオブジェクトです。次のような複数の主キーを使用することもできます: findAllByPk(array(1,2));

(6)

$admin=User::model()->findAllBySql($sql,$params);
ログイン後にコピー

返された結果セットが空でない場合、それは 2 次元配列になり、結果は配列の最初の次元のセットはオブジェクトです。 使用例は次のとおりです:

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);
ログイン後にコピー

このメソッドは、条件に基づいてデータをクエリします。条件は配列に入れられます。例:

findByAttributes(array('username'=>'admin'));
ログイン後にコピー

または:


(10)

$admin=User::model()->findAllByAttributes($attributes,$condition,$params);
ログイン後にコピー

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

(9)

// 如果查询条件很是复杂,就要使用CDbCriteria类
$criteria=new CDbCriteria;$criteria->select='title';$creteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);$post=Post::model()->find($criteria); // 不需要第二个参数
// 另一种更好的写法
$post=Post::model()->find( array(        'select'=>'title',        'condition'=>'postID=:postID',        'params'=>array(':postID'=>10)    ));
ログイン後にコピー

数値をクエリし、クエリの結果があるかどうかを判断する

1,

$n=Post::model()->count($condition,$params);
ログイン後にコピー


このメソッドは、条件に基づいてコレクション内のレコードの数をクエリし、int型の数値を返します。例:

count("username=:name",array(":name"=>$username));
ログイン後にコピー


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 を返し、そうでない場合は見つかりません。

上記は、Yii フレームワークでのデータベースクエリデータのメソッドの概要です。これについては皆さんも詳しくご存じだと思いますが、Yii フレームワークに関する関連記事については、PHP 中国語 Web サイトにも注目してください。

関連する推奨事項:

YIIフレームワークでmemcacheを使用する方法の説明

フォームを使用してファイルをアップロードするYii2の例の説明

Yiiフレームワークでの検証コード、ログインおよび終了関数の実装についての説明

PHP—yii フレームワーク キャッシュのナレッジ コレクション

Yii フレームワーク フレームワーク モジュール開発

以上がPHP Yii フレームワークのデータベース クエリ操作の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート