我有下面的代碼已經非常完美到現在爲止: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']
時,我只能得到p.id_category
陣列中的第一個c.title
。我想獲得p.id_category
中所有類別的標題。有人能幫我一下嗎?我希望我做我自己的理解,作爲一個MySQL的新手甚至讓我LEFT JOIN的工作是:-)挑戰
編輯:
週六早上找到一個解決自己失望,發現它在回答下面的問題:MySQL: How to fetch data with left-join if column contains multiple ids?。感謝所有幫助。
謝謝你菲利普。在不久的將來,我將不得不將這些關係存儲在單獨的表格中,因爲我的數據庫正在增加更多的相互關係。儘管我現在使用了'GROUP_CONCAT()'和'FIND_IN_SET()',它在短期內做了詭計。 –
好的下次,當你在開始使用它的時候,你在php中創建數據庫時考慮模型。這將爲您節省大量時間。 –