yii でデータベースに接続するにはいくつかの方法があります
PDO メソッド (複数テーブル接続クエリに適しています)。 (推奨学習: yii フレームワーク)
$sql = "";//原生态sql语句 xx::model()->dbConnection->createCommand($sql)->execute(); 非select语句(update、insert、delete) xx::model()->dbConnection->createCommand($sql)->queryRow(); 查询select一条记录 xx::model()->dbConnection->createCommand($sql)->queryAll(); 查询select多条记录 $sql = "select a.*, count(b.role_id)as num from {{user_role}} a left join {{user}} b on a.id = b.role_id group by b.role_id order by a.id"; $user_role_info = UserRole::model()->dbConnection->createCommand($sql)->queryAll(); $this->render("list", array('user_role_info'=>$user_role_info));
例
$sql = "select a.*, count(b.role_id)as num from slgo_user_role a left join slgo_user b on a.id = b.role_id group by b.role_id order by a.id"; $user_role_info = UserRole::model()->dbConnection->createCommand($sql)->queryAll(); $this->render("list", array('user_role_info'=>$user_role_info));
Active Recordメソッド
(1)New
$post=new Post; $post->title='sample post'; $post->content='post body content'; $post->save();
Criteria メソッド
$condition を使用して、より複雑なクエリ条件を指定することもできます。文字列を使用する代わりに、$condition を CDbCriteria のインスタンスにすることができます。これにより、WHERE に限定されない条件を指定できます。
$criteria=new CDbCriteria; $criteria->select='title'; // 只选择 'title' 列 $criteria->condition='postID=:postID'; $criteria->params=array(':postID'=>10); $post=Post::model()->find($criteria);
CDbCriteria の代わりに、配列を find メソッドに渡すこともできます。配列のキーと値は、それぞれ条件
の属性名と値に対応します。上記の例は、次のように書き換えることができます:
$post=Post::model()->find(array( 'select'=>'title', 'condition'=>'postID=:postID', 'params'=>array(':postID'=>10), ));
クエリ条件がプレスに関するものである場合 指定された値が複数の列に一致する場合は、findByAttributes() を使用できます。 $attributes パラメータを列名でインデックス付けされた値の配列にします。
一部のフレームワークでは、このタスクは findByNameAndTitle などのメソッドを呼び出すことで実現できます。
このアプローチは魅力的に見えますが、混乱や競合、列名の大文字と小文字の区別などの問題を引き起こすことがよくあります。
クエリ ビルダー メソッド
$user = Yii::app()->db->createCommand() ->select('id, username, profile') ->from('tbl_user u') ->join('tbl_profile p', 'u.id=p.user_id') ->where('id=:id', array(':id'=>$id)) ->queryRow();
1. ActiveRecord を有効に活用するとき、つまり、2 番目の SQL クエリ メソッドを生成させないでください。私の経験から言えば、次のようにします。無理をせず、タイムとパフォーマンスの差に注意してください。ビッグデータクエリの場合、メモリスペースの観点から、yii2 の toArray() を使用してメモリ消費を節約できます。
2. PDO に対する ActiveRecord の利点は、その利便性にあります。
1 つは、SQL ステートメントを作成する場合と比較して、ActiveRecord を使用する方が簡単であり、さらに重要なことに、エラーが発生しにくいということです。
第 2 に、パラメータのフィルタリング、バインドなど、SQL ステートメントを超えた多くの利便性が提供されます。 Web 開発では必ず遭遇する問題ですが、SQL ステートメントを次々と記述するため、コードの再利用度は高くなく、どこかでフィルタリングすることを忘れやすく、セキュリティ リスクが発生します。
3. Yii2 にはすでに Query があり、ActiveRecord よりもパフォーマンスが優れており、代替として使用できます。もちろん、利便性と効率性は表裏の関係にあり、その使用方法は ActiveRecord ほど便利ではありません。
しかし、プロジェクトでの私の経験では、Query は ActiveRecord よりも使用頻度がわずかに低いだけです。個人的には、Query/ActiveQuery は Yii2 で導入されたエキサイティングな新機能だと思います。
4. 前回の記事では、ActiveRecord のアプリケーション シナリオについて説明しました。 PDO を使用する場合は、明確に記述できない 1 つまたは 2 つの文など、より複雑な SQL 操作に使用する必要があります。
この場合、ActiveRecord を使用してビルドすることは、SQL を直接記述するのと同じくらい複雑であるため、PDO の使用を検討できます。ただ私の印象では、プロジェクトで使用するSQL文が非常に複雑な場合はDB Viewやストアドプロシージャとして記述することになるため、PDOはあまり使われていない、あるいはごくわずかと言えるような気がします。
5. 効率を追求する場合、後のメンテナンスが非常に困難になるため、PDO はあまり使用すべきではないと個人的には考えています。代わりに、SQL クエリの最適化、インデックスとテーブル構造の最適化、キャッシュの使用などを検討できます。キャッシュの使用が最も簡単で、最も直接的で、最も効果的な方法であることは言及する価値があります。
6. パフォーマンスの問題を時期尚早に検討する必要はありません
以上がyii でデータベースに接続するにはいくつかの方法がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











クラウド コンピューティング テクノロジの継続的な発展により、データのバックアップはすべての企業が行う必要のあるものになりました。この文脈では、可用性の高いクラウド バックアップ システムを開発することが特に重要です。 PHP フレームワーク Yii は、開発者が高性能の Web アプリケーションを迅速に構築できる強力なフレームワークです。ここでは、Yii フレームワークを使用して可用性の高いクラウド バックアップ システムを開発する方法を紹介します。データベースモデルの設計 Yii フレームワークでは、データベースモデルは非常に重要な部分です。データ バックアップ システムには多くのテーブルとリレーションシップが必要なため、

インターネットの発展に伴い、Web アプリケーション開発の需要もますます高まっています。開発者にとって、アプリケーションの開発には、開発効率を向上させる、安定性、効率性、強力なフレームワークが必要です。 Yii は、豊富な機能と優れたパフォーマンスを提供する、優れた高性能 PHP フレームワークです。 Yii3 は Yii フレームワークの次世代バージョンであり、Yii2 に基づいてパフォーマンスとコード品質をさらに最適化します。この記事では、Yii3 フレームワークを使用して PHP アプリケーションを開発する方法を紹介します。

現在の情報化時代では、ビッグデータ、人工知能、クラウド コンピューティング、その他のテクノロジーが大手企業の焦点となっています。その中でも、高性能なグラフィックス処理技術として、グラフィックスカードレンダリング技術がますます注目を集めています。グラフィックス カード レンダリング テクノロジは、ゲーム開発、映画やテレビの特殊効果、エンジニアリング モデリングなどの分野で広く使用されています。開発者にとって、自分のプロジェクトに合ったフレームワークを選択することは非常に重要な決定です。現在の言語の中でも PHP は非常に動的な言語であり、Yii2、Ph などの優れた PHP フレームワークもいくつかあります。

Yii フレームワークは、Web アプリケーション開発のプロセスを簡素化するための多数のツールとコンポーネントを提供するオープンソースの PHP Web アプリケーション フレームワークであり、その重要なコンポーネントの 1 つがデータ クエリです。 Yii フレームワークでは、SQL に似た構文を使用してデータベースにアクセスし、データを効率的にクエリおよび操作できます。 Yii フレームワークのクエリビルダーには主に次の種類があります: ActiveRecord クエリ、QueryBuilder クエリ、コマンド クエリ、独自の SQL クエリ

Web アプリケーションの需要が高まるにつれ、開発者が開発フレームワークを選択する選択肢はますます増えています。 PHP フレームワークとして人気のある Symfony と Yii2 は、どちらも強力な機能とパフォーマンスを備えていますが、大規模な Web アプリケーションを開発する必要がある場合、どちらのフレームワークがより適しているのでしょうか。次に、より良い選択を行うために、Symphony と Yii2 の比較分析を行います。基本概要 Symphony は、PHP で書かれたオープンソースの Web アプリケーション フレームワークであり、上に構築されています。

「Yii とは何ですか?」という質問がある場合は、私の以前のチュートリアル「Yii フレームワークの紹介」を参照してください。このチュートリアルでは、Yii の利点をレビューし、2014 年 10 月にリリースされた Yii 2.0 の新機能の概要を説明しています。うーん> この Yii2 によるプログラミング シリーズでは、読者に Yii2PHP フレームワークの使い方をガイドします。今日のチュートリアルでは、Yii のコンソール機能を活用して cron ジョブを実行する方法を共有します。以前、私はバックグラウンド タスクを実行するために cron ジョブで wget (Web アクセス可能な URL) を使用しました。これにより、セキュリティ上の懸念が生じ、パフォーマンス上の問題も発生します。 Security for Startup シリーズでリスクを軽減するいくつかの方法について説明しましたが、コンソール駆動のコマンドに移行したいと考えていました。

インターネットの急速な発展に伴い、API はさまざまなアプリケーション間でデータを交換する重要な方法になりました。したがって、保守が容易で効率的で安定した API フレームワークを開発することがますます重要になっています。 API フレームワークを選択する場合、Yii2 と Symfony の 2 つは開発者の間で人気のある選択肢です。では、どちらが API 開発に適しているのでしょうか?この記事では、これら 2 つのフレームワークを比較し、いくつかの結論を示します。 1. 基本的な紹介 Yii2 と Symfony は、開発に使用できる対応する拡張機能を備えた成熟した PHP フレームワークです。

Yiiフレームワーク:Yiiのオブジェクトを配列に変換したり、直接json形式に出力したりする方法を紹介する記事であり、参考になると思います。
