Opencart の 1.4.9.4 データベースで遊んでいます。そして、私はデータベースの経験がないので、構造が奇妙だと思います(難しい、クレイジー)。例: モデルと名前を表示する必要がある場合、productとproduct_descriptionのproduct
2 つのテーブルを結合する必要があり、カテゴリ、メーカーなどについても同じアプローチが必要です。 product_id . 本当にJOINを使用する必要がある場合、それを機能させるために使用するJOINの数はいくつですか?しかし、本当に奇妙なことの 1 つは、製品 ID、名前、およびモデルをカテゴリ名とメーカー名で取得するクエリを作成することです。それを達成するための知識はありません。少なくとも私が思うに、それはテーブルを含むでしょう:
product、product_description、product_to_category、category_description、および manufacturer。混乱して申し訳ありませんが、私の心は混乱しています!
2798 次
2 に答える
3
opencart では、product_id 値を結合してデータの完全な行を取得します (そして、where 句を使用して説明の正しい言語 ID を設定します。
SELECT * FROM product p LEFT JOIN product_description pd ON p.product_id = pd.product_id WHERE pd.language_id = 1 LIMIT 20
これにより、両方のテーブルからすべてのデータが取得され、20 製品の制限と言語 1 (デフォルトの英語) を使用して正しく結合されます。もちろん、php で適切に記述する場合は、いくつかのデータ (テーブル プレフィックスや言語 ID など) を動的に呼び出す必要があるため、複数の言語やプレフィックス付きのデータベース テーブルがある場合に機能します。何かのようなもの
$query = "SELECT * FROM `" . DB_PREFIX . "product` p LEFT JOIN `" . DB_PREFIX . "product_description` pd ON p.product_id = pd.product_id WHERE pd.language_id = " . (int)$this->config->get('config_language_id') . " LIMIT 20";
于 2011-04-16T15:24:41.883 に答える
-2
申し訳ありませんが、これを完全に忘れて いました。
于 2011-04-16T15:40:35.383 に答える