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

WBOY
リリース: 2016-06-23 13:50:13
オリジナル
1295 人が閲覧しました

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 接続を使用してデータをクエリする場合、データを受信するためにどのオブジェクトを使用する必要がありますか?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!