Yii フレームワークに関連付けられたクエリと使用状況分析、yii フレームワークと use_PHP チュートリアル
Yii フレームワークに関連付けられたクエリと使用状況分析、Yii フレームワークと使用状況
この記事では、Yii フレームワークでの関連付けられたクエリの使用法を例を通して分析します。参考のためにみんなで共有してください。具体的な方法は以下の通りです
Yii フレームワークの関連クエリと mysql の関連クエリの違いは何ですか? ここでは、エディターが一緒に見ていきます。
Yii の関連クエリは確かに便利なものです。インターネット上には多くの情報がありますが、そのほとんどは Ctrl+C、Ctrl+V であり、詳しく説明した記事はありません。インターネット上の多くの情報を参照し、リソースを収集し、私自身の理解をいくつか加えた後、初心者向けに個人的な洞察を提供するためにこの記事を書きました。
YII は 4 種類の関係をサポートします:
BELONGS_TO (所属): テーブル A と B の関係が 1 対多の場合、テーブル B はテーブル A に所属します (たとえば、Post は User に所属します)。
HAS_MANY (複数あり): テーブル A と B の間の関係が 1 対多の場合、A には複数の B があります (たとえば、ユーザーには複数の Post があります);
HAS_ONE (1 つあります): これは HAS_MANY の特殊なケースであり、A は最大 1 つの B を持つことができます (たとえば、ユーザーは最大 1 つのプロファイルを持つことができます);
MANY_MANY: これはデータベース内の多対多の関係に対応します。 ほとんどの DBMS は多対多の関係を直接サポートしていないため、多対多の関係を 1 対多の関係に分割するには関係テーブルが必要です。
初心者がこれを見たら本当に理解できるでしょうか?
既存のユーザー テーブルは user、ブログ テーブルはブログです。ブログは特定のユーザーに属し、ユーザーは複数のブログを公開します。
所属先:
コントローラー
b_user の 2 番目のパラメータ: サブテーブルのテーブル名、3 番目のパラメータ、サブテーブルの主キーを格納するために使用されるメイン テーブルのフィールド (ユーザー テーブルの主キーを格納するためにブログ テーブルで使用されるフィールド) 。
HAS_ONE:
コントローラー
u_blog の 2 番目のパラメータ: サブテーブルの名前、3 番目のパラメータ、メイン テーブルの主キーの格納に使用されるサブテーブルのフィールド (ユーザー テーブルの主キーの格納に使用されるブログ テーブルのフィールド)。
たくさんあります:
コントローラー
u_blogs の 2 番目のパラメーター: サブテーブルの名前、3 番目のパラメーター、メイン テーブルの主キーを格納するために使用されるサブテーブル内のフィールド (ユーザー テーブルの主キーを格納するために使用されるブログ テーブル内のフィールド)。
MANY_TO_MANY:
これはまだ使っていないので、テストしてから更新するつもりです。 。 。
ここまでで Yii with の最も基本的な使い方がほぼ説明されましたが、何か質問はありますか?
クエリ対象のサブテーブル フィールドを指定するにはどうすればよいですか?
このユーザーのすべての記事が HAS_MANY で見つかりました。5 つの記事だけを確認したい場合はどうすればよいですか?
...ご質問お待ちしております。
それでは、早速、最初の問題を解決しましょう
2番目の質問
完了しました!
これらの非常に初心者向けの説明を読めば、突然理解できるはずだと思います。ことわざにあるように、最初は何事も難しいです。残りは一目で分かると思います~~~
以下の内容は Yii マニュアルからのものです:
遅延読み込みに応じて、次のオプションが利用可能です:
'グループ': 文字列、GROUP BY 句。 デフォルト値は空です。 列参照には「relationName」という接頭辞を付ける必要があることに注意してください。 (例: 関係名.年齢)。このオプションは、HAS_MANY および MANY_MANY 関係にのみ適用されます。
'having': 文字列、HAVING 句。 デフォルト値は空です。 列参照には「relationName」という接頭辞を付ける必要があることに注意してください。 (例: 関係名.年齢)。このオプションは、HAS_MANY および MANY_MANY 関係にのみ適用されます。
'limit': データ行の選択を制限します。 このオプションは BELONGS_TO には適用されません。
'offset': データ行のオフセット。 このオプションは BELONGS_TO には適用されません。
'through': 関連データを取得するときにブリッジ モデルとして使用される関係の名前。 HAS_ONE と HAS_MANY のみに設定できます。このオプションはバージョン 1.1.7 以降で使用できます。
以下は、「Post」アクティビティのクラス関連オブジェクトを記録する例です:
'author'=>array(self::BELONGS_TO, 'User', 'author_id'),
'comments'=>array(self::HAS_MANY, 'Comment', 'post_id', 'with'=>'author', 'order'=>'create_time DESC'),
'tags'=>array(self::MANY_MANY, 'Tag', 'post_tag(post_id, tag_id)', 'order'=>'name'),
);
この記事で説明した内容が皆さんの Yii フレームワークプログラミング設計に役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック

12306 チケット予約アプリの最新バージョンをダウンロードします。誰もが非常に満足している旅行チケット購入ソフトウェアです。行きたい場所に行くのに非常に便利です。ソフトウェアには多くのチケット ソースが提供されています。本物のチケットを渡すだけで済みます。 - 氏名認証によるオンラインチケット購入 全ユーザー 旅行券や航空券を簡単に購入でき、さまざまな割引が受けられます。また、チケットを入手するための事前予約も開始できます。ホテルや特別な車の送迎も予約できます。これを使用すると、ワンクリックで行きたい場所に行き、チケットを購入できます。旅行がより簡単で便利になり、すべての人に旅行体験を提供します編集者はオンラインで詳細を説明するようになり、12306 人のユーザーに過去のチケット購入記録を表示する方法が提供されます。 1. Railway 12306 を開き、右下隅の [My] をクリックして、[My Order] をクリックします。 2. 注文ページで [Paid] をクリックします。 3. 有料ページにて

Xuexin.com で私の学歴を確認するにはどうすればよいですか? Xuexin.com で学歴を確認できますが、多くのユーザーは Xuexin.com で学歴を確認する方法を知りません。次に、エディターが Xuexin.com で学歴を確認する方法に関するグラフィック チュートリアルを提供します。興味のあるユーザーはぜひ見に来てください! Xuexin.com の使用方法チュートリアル: Xuexin.com で学歴を確認する方法 1. Xuexin.com の入り口: https://www.chsi.com.cn/ 2. Web サイトのクエリ: ステップ 1: Xuexin.com のアドレスをクリックします。上記をクリックしてホームページに入ります [教育クエリ]をクリックします; ステップ2: 最新のWebページで下図の矢印に示すように[クエリ]をクリックします; ステップ3: 新しいページで[学術単位ファイルにログイン]をクリックします; ステップ4: ログインページで情報を入力し、[ログイン]をクリックします。

Apple の携帯電話を使用してアクティベーション日を確認する場合、携帯電話のシリアル番号から確認するのが最善の方法ですが、Apple の公式 Web サイトにアクセスし、コンピュータに接続して 3 番目のバージョンをダウンロードすることでも確認できます。 -party ソフトウェアを使用して確認します。 Apple 携帯電話のアクティベーション日を確認する方法 回答: シリアル番号のクエリ、Apple 公式 Web サイトのクエリ、コンピュータのクエリ、サードパーティ ソフトウェアのクエリ 1. ユーザーにとって最善の方法は、自分の携帯電話のシリアル番号を知ることです。シリアル番号を確認するには、[設定]、[一般]、[このマシンについて] を開きます。 2. シリアル番号を使用すると、携帯電話のアクティベーション日を知るだけでなく、携帯電話のバージョン、携帯電話の製造元、携帯電話の工場出荷日などを確認することもできます。 3. ユーザーは Apple の公式 Web サイトにアクセスしてテクニカル サポートを見つけ、ページの下部にあるサービスと修理の欄を見つけて、そこで iPhone のアクティベーション情報を確認します。 4. ユーザー

MySQL と PL/SQL は 2 つの異なるデータベース管理システムであり、それぞれリレーショナル データベースと手続き型言語の特性を表しています。この記事では、具体的なコード例を示しながら、MySQL と PL/SQL の類似点と相違点を比較します。 MySQL は、構造化照会言語 (SQL) を使用してデータベースを管理および操作する、一般的なリレーショナル データベース管理システムです。 PL/SQL は Oracle データベースに固有の手続き型言語であり、ストアド プロシージャ、トリガー、関数などのデータベース オブジェクトを記述するために使用されます。同じ

タイトル: Oracle を使用してテーブルがロックされているかどうかをクエリする方法Oracle データベースでは、テーブル ロックとは、トランザクションがテーブルに対して書き込み操作を実行しているときに、他のトランザクションがテーブルに対して書き込み操作を実行したり、テーブルに構造変更 (列の追加、行の削除など) を加えたりするときにブロックされることを意味します。 、など)。実際の開発プロセスでは、トラブルシューティングを改善し、関連する問題に対処するために、テーブルがロックされているかどうかをクエリする必要があることがよくあります。この記事では、Oracle ステートメントを使用してテーブルがロックされているかどうかをクエリする方法と、具体的なコード例を紹介します。テーブルがロックされているかどうかを確認するには、

フォーラムはインターネット上で最も一般的な Web サイト形式の 1 つで、ユーザーに情報を共有し、交換し、議論するためのプラットフォームを提供します。 Discuz は一般的に使用されているフォーラム プログラムであり、多くのウェブマスターはすでによく知っていると思います。 Discuz フォーラムの開発および管理中に、分析または処理のためにデータベース内のデータをクエリすることが必要になることがよくあります。この記事では、Discuz データベースの場所をクエリするためのヒントをいくつか紹介し、具体的なコード例を示します。まず、Discuz のデータベース構造を理解する必要があります。

通神コインの最新価格を確認するにはどうすればよいですか?トークンは、ゲーム内アイテム、サービス、アセットの購入に使用できるデジタル通貨です。これは分散型であり、政府や金融機関によって管理されていないことを意味します。通神コインの取引はブロックチェーン上で行われます。ブロックチェーンは、通神コインのすべての取引情報を記録する分散台帳です。トークンの最新の価格を確認するには、次の手順を使用できます。 信頼できる価格確認 Web サイトまたはアプリを選択します。一般的に使用される価格クエリ Web サイトには、次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/ Binance: https://www.bin

BitTorrent Coin (BTT) の最新価格を確認する BTT は、ファイルの共有とダウンロードに対して BitTorrent ネットワーク ユーザーに報酬を与えるために使用される TRON ブロックチェーン上の暗号通貨です。 BTT の最新価格を確認する方法は次のとおりです。信頼できる価格チェック Web サイトまたはアプリを選択してください。一般的に使用される価格クエリ Web サイトには、次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Web サイトまたはアプリ BTT で検索します。 BTT の最新の価格を確認してください。注: 暗号通貨の価格
