目次
ディスカッション (ソリューション) に返信します
ホームページ バックエンド開発 PHPチュートリアル MVC アーキテクチャを使用する場合、複数のテーブルの結合クエリを実行するにはどうすればよいですか?より良いソリューションを探しています

MVC アーキテクチャを使用する場合、複数のテーブルの結合クエリを実行するにはどうすればよいですか?より良いソリューションを探しています

Jun 23, 2016 pm 01:50 PM
mvc 素晴らしい 建築 解決

MVC アーキテクチャを使用する場合に複数のテーブルの結合クエリを実行するにはどうすればよいですか?より良いソリューションを探しています


ディスカッション (ソリューション) に返信します

どのフレームワークでもユーザーのニーズを予測することは不可能です
フレームワークの制約に従ってのみデータを整理できます

複数テーブルのクエリとMVC フレームワークとは何の関係もありません。

一般的に使用されるメソッドをいくつか説明します。

1. シンプルな、ネストされた選択を選択します: select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6 =xxx

2. シンプルな複数のテーブルの選択: A,B から A.c1,A.c2,B.c3,B.c4 を選択します (A.c5=B.c6)

3. フレキシブル結合、左結合、右結合、外部結合

4. Union、Union all

5. 上記の 2 つ以上の混合

実際には、難しい SQL クエリのケースが多く、MVC フレームワークは最適化を支援できません。テーブルクエリの数が非常に多いため、クエリステートメントを最適化するとシステムの効率が向上する可能性があります。

あくまで私の個人的な意見ですので、ご了承ください。

マルチテーブル クエリは MVC フレームワークとは何の関係もありません。

一般的に使用されるメソッドをいくつか説明します。

1. シンプルな、ネストされた選択を選択します: select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6 =xxx

2. 単純に、複数のテーブルを選択します: select A.c1,A.c2,B.c3,B.c4 fr……



MVC で開発するときに知りたいのは、次の方法に切り替える方法です。元の SQL をコントロールに直接大量に記述する必要がありますか?

どのフレームワークでもユーザーのニーズを予測することは不可能です
フレームワークの制約に従ってデータを整理することしかできません



先生、例を 1 つまたは 2 つ教えていただけますか?

使用するフレームワークに仕様がある場合は、その仕様に従って記述してください
ない場合は、ネイティブ SQL で十分です。複数テーブルのクエリにも同じことが当てはまります。

使用するフレームワークに仕様がある場合は、その仕様に従って記述してください
ない場合は、ネイティブ SQL で十分です。複数テーブルのクエリにも同じことが当てはまります。



フレームワークはいくつかの仕様を提供しており、それを行うために TP を使用しました。以前にフレームワークを使用していなかったときは、単に JOIN ステートメントをたくさん書いていましたが、それを変更したい場合は、再理解して修正する必要があることがわかりました。間違いを犯したり、一重引用符を書き忘れたなどの比較的低レベルの間違いを犯したりするなどです。

マニュアルを参照してください 6.23 アソシエーション モデル

受注テーブル、顧客テーブル、ユーザー テーブルの関係と同様の質問があります。object- を使用してこの種のテーブル間の関係を設計する方法です。指向性

マニュアルに例はありませんか?

使用するフレームワークに仕様がある場合は、その仕様に従って記述してください
ない場合は、ネイティブ SQL で十分です。複数テーブルのクエリにも同じことが当てはまります。



+++ はい...

3階のwangzhlinからの返信を引用します: マルチテーブルクエリはMVCフレームワークとは何の関係もありません。

一般的に使用されるメソッドをいくつか説明します。

1. シンプルな、ネストされた選択を選択します: select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6 =xxx

2. 複数のテーブルを選択するのは簡単です: select A..​​.



フレームワークによってカプセル化された db クラスに従って、マニュアルまたはコードを確認するか、ネイティブ SQL 接続を使用して自分で作成することもできます。部分はフレーム不要です。

お役に立てば幸いです。

Web サイトがそれほど大きくない場合、投稿者はそれをビューにカプセル化し、ビューを直接インスタンス化できます

マルチテーブル結合クエリは mvc と何の関係がありますか?あなたはまだ mvc が何なのかをよく理解していません。

共同クエリをモデルにカプセル化し、コントローラーがそれを呼び出してデータを取得できるようにします。



上の階では、db ビューにカプセル化することも方法だと言われています。 mysql でビューを使用している人はほとんどいないことがわかりました。なぜだか分からない。実際、ビューによって多くの問題を解決できます。たとえば、テーブル構造が更新された後は、ビュー名を変更せずに再作成するだけで済みます。コードを変更する必要はもうありません。もしかしたら、今は新しいテクノロジーが多すぎて、わざわざ古いテクノロジーを使おうとする人がいないのかもしれません。

ご意見ありがとうございます。
実際、私は将来のメンテナンスを容易にするために、この種のテーブルの共同クエリ状況に対するより良いソリューションを作成したいと考えています。クラスを組み合わせるのが最善です。以前のシステムでは独自の SQL を使用していましたが、変更するときに間違いが発生しやすく、業務プロセスを理解するのも困難でした。
テーブル間の関係がクラスで表現できるとしたら、このメソッドはどうなるかわかりません。

マルチテーブル クエリと MVC の関係は何ですか?

私のシステムは MVC を使用して構築されており、システム関数には複数のテーブル クエリが存在します。
そこで私が知りたいのは、MVC アーキテクチャを使用して開発する場合、この種の複数テーブルのクエリに遭遇した場合、元の SELECT を直接使用するべきか、それともビューまたはストアド プロシージャを使用するべきかということです

一般的には、オリジナルの SELECT は、mvc フレームワークまたは cms のソース コードを確認できます。

通常、それは元の SELECT です。mvc フレームワークまたは cms のソースコードを確認してください。


元の SELECT 接続を使用してデータをクエリする場合、データを受信するためにどのオブジェクトを使用する必要がありますか?
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

マウスホイールが機能せず、ランダムに上下にジャンプする場合はどうすればよいですか? 3 つのソリューションを共有する マウスホイールが機能せず、ランダムに上下にジャンプする場合はどうすればよいですか? 3 つのソリューションを共有する Mar 13, 2024 pm 07:28 PM

マウスは最も重要なコンピュータ周辺機器の 1 つですが、使用中にマウス ホイールが動作しなくなったり、上下に跳ねたりして、ユーザーの操作に大きな影響を及ぼします。この問題を解決する方法はありますか?マウスホイールがランダムにジャンプする問題を解決する 3 つの方法を見てみましょう。方法 1: マウスを確認する マウスは各ブランドによってそれぞれ特徴があります。一部のマウス ホイールは感度が高いか減衰が低いため、ホイールが不規則にジャンプする可能性があります。問題がマウス自体にあるのかどうかを判断するには、マウス ホイールに軽く触れて、画面上でページが動くのを観察します。マウスのスクロールが敏感すぎる場合は、問題を解決するために新しいマウスの購入を検討してください。方法 2: マウスの設定を確認する マウスの設定が不適切であると、マウス ホイールがランダムにジャンプする可能性があります。

PyCharm の起動失敗を解決する方法を共有する PyCharm の起動失敗を解決する方法を共有する Feb 20, 2024 am 09:46 AM

PyCharm は、Python 開発者の日常業務で広く使用されている強力な Python 統合開発環境 (IDE) です。ただし、場合によっては、PyCharm を正常に開くことができないという問題が発生し、作業の進行に影響を与える可能性があります。この記事では、PyCharm が開けない場合のよくある問題とその解決策を紹介し、具体的なコード例を示して、これらの問題をスムーズに解決できることを願っています。問題 1: PyCharm がクラッシュするか応答しなくなる 考えられる理由: PyCh

エラー 629 ブロードバンド接続ソリューション エラー 629 ブロードバンド接続ソリューション Feb 20, 2024 am 08:06 AM

エラー 629 の解決策 ブロードバンド接続 インターネット技術の急速な発展により、ブロードバンドは私たちの日常生活に欠かせないものになりました。ただし、ブロードバンドの使用中にエラー 629 ブロードバンド接続エラーなどの問題が発生する場合があります。このエラーは通常、インターネットに正常にアクセスできなくなり、多大な不便をもたらします。この記事では、この問題を迅速に解決できるように、エラー 629 ブロードバンド接続を解決するいくつかの方法を紹介します。まず、エラー 629 ブロードバンド接続の問題は、通常、ネットワーク構成またはドライバーの問題が原因で発生します。

Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Edge ブラウザがこのプラグインをサポートしない理由に対する 3 つの解決策を共有します Mar 13, 2024 pm 04:34 PM

ユーザーが Edge ブラウザを使用する場合、より多くのニーズを満たすためにいくつかのプラグインを追加する場合があります。しかし、プラグインを追加すると、このプラグインはサポートされていないと表示されます。この問題を解決するにはどうすればよいですか?今日は編集者が 3 つの解決策を紹介しますので、ぜひ試してみてください。方法 1: 別のブラウザを使用してみてください。方法 2: ブラウザ上の Flash Player が古いか見つからないため、プラグインがサポートされていない可能性があり、公式 Web サイトから最新バージョンをダウンロードできます。方法3:「Ctrl+Shift+Delete」キーを同時に押します。 「データを消去」をクリックしてブラウザを再度開きます。

pyqt5 インストール エラーの一般的な問題と解決策 pyqt5 インストール エラーの一般的な問題と解決策 Jan 19, 2024 am 10:00 AM

Python の人気に伴い、PyQt5 は多くの人にとって迅速な GUI 開発のための最初の選択肢ツールの 1 つになりましたが、インストールの問題は避けられません。以下は、PyQt5 のインストールに関するいくつかの一般的な問題とその解決策です。 PyQt5 のインストール時に、sip モジュールが見つからないというエラー メッセージが表示される この問題は、通常、pip を使用して PyQt5 をインストールするときに発生します。このエラーの原因は sip モジュールへの依存関係がないため、最初に sip モジュールを手動でインストールする必要があります。コマンドラインに次のコードを入力します: pipinsta

Spring Data JPA のアーキテクチャと動作原理は何ですか? Spring Data JPA のアーキテクチャと動作原理は何ですか? Apr 17, 2024 pm 02:48 PM

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

洗濯機のボタンが故障した時の対処法(洗濯機のボタンが故障した時の対処法を教えます) 洗濯機のボタンが故障した時の対処法(洗濯機のボタンが故障した時の対処法を教えます) Jul 24, 2024 pm 03:58 PM

洗濯機は私たちの日常生活に重要な役割を果たしていますが、時々洗濯機のボタンが故障していることが判明します。この状況は通常の洗濯作業に影響を与えるため、私たちを悩ませるかもしれません。ただし、心配しないでください。この記事では、洗濯機のボタンが故障した場合の解決方法をいくつか紹介します。 1. 電源接続を確認します - プラグが正しく差し込まれています: 洗濯機の電源プラグがソケットにしっかりと差し込まれていることを確認してください。・電源スイッチが入っているか:電源スイッチが入っているか確認してください。 2. ボタンの表面をきれいにします - シャットダウンします。安全を確保するために、まず洗濯機の電源を切り、電源プラグを抜きます。洗濯機のボタンの故障のトラブルシューティング 温水洗浄 ぬるま湯と中性洗剤を使用して、ボタンの表面を軽く拭きます。ボタン調整と再起動調整ボタンの位置: ボタンが正しいかどうかを確認します。

1.3ミリ秒には1.3ミリ秒かかります。清華社の最新オープンソース モバイル ニューラル ネットワーク アーキテクチャ RepViT 1.3ミリ秒には1.3ミリ秒かかります。清華社の最新オープンソース モバイル ニューラル ネットワーク アーキテクチャ RepViT Mar 11, 2024 pm 12:07 PM

論文のアドレス: https://arxiv.org/abs/2307.09283 コードのアドレス: https://github.com/THU-MIG/RepViTRepViT は、モバイル ViT アーキテクチャで優れたパフォーマンスを発揮し、大きな利点を示します。次に、この研究の貢献を検討します。記事では、主にモデルがグローバル表現を学習できるようにするマルチヘッド セルフ アテンション モジュール (MSHA) のおかげで、軽量 ViT は一般的に視覚タスクにおいて軽量 CNN よりも優れたパフォーマンスを発揮すると述べられています。ただし、軽量 ViT と軽量 CNN のアーキテクチャの違いは十分に研究されていません。この研究では、著者らは軽量の ViT を効果的なシステムに統合しました。

See all articles