私が今まで完璧に働いている次のコードを持っている。「カテゴリー」テーブル内の唯一のカテゴリは、製品に関連していることが許されたので、以前MySQL LEFT JOIN配列では、複数の行を返すにはどうすればよいですか?
$db->table = "horse_products as p";
$db->colums = "p.*, l.address as address, l.storename as supplier_name, c.title as cat_title, c.id_parent as id_parent";
$db->join = "LEFT JOIN locations as l ON l.id = p.id_location"
." LEFT JOIN categories as c ON c.id = p.id_category WHERE c.id_parent = 8";
$db->orderBy = "p.id_location ASC, p.id_product ASC";
$items = $db->Select();
をp.id_category
が整数でした。しかし今日、私はp.id_category
をコンマ区切りの配列にすることに決めました。これの欠点は、$item['cat_title']
をエコーしようとすると、最初にc.title
がp.id_category
アレイ内にあることになります。 p.id_category
内のすべてのカテゴリのタイトルを取得したいと考えています。誰も私をここで助けることができますか?でも、私のLEFTを取得MySQLの初心者が仕事にのJOINのように私は、私は自分自身を理解作ったことを願っています
EDIT :-)挑戦でした:
が解決策を見つけるために今朝自分自身を座ってました次の質問への回答:MySQL: How to fetch data with left-join if column contains multiple ids?。助けていただいた皆様に感謝します。
ありがとうございました。近い将来、これらの関係を別々のテーブルに格納する必要があります。なぜなら、データベースはますます相互関係が深まってきているからです。今のところ私は短期間トリックをした 'GROUP_CONCAT()'と 'FIND_IN_SET()'を使っていました。 –
次回は、データベースを作成して使用する前にphpでモデルを考えているときに使います。それはあなたに多くの時間を節約します。 –