Я пытаюсь получить многомерный массив, который сгруппирован по продукту.Codeigniter: создать многомерный массив результата
Вот sql
, что я пробовал:
$sql = "SELECT * from order_detail OD\n"
. "LEFT JOIN product as pro ON pro.product_id = OD.product_id\n"
. " LEFT JOIN `order` as o ON o.order_id = OD.order_id \n"
. "WHERE OD.order_id IN (1,4) AND OD.user_id =2\n"
. "group by OD.product_id\n"
. "order By OD.Product_ID, OD.Order_ID";
Это SQL дает следующий результат:
Array
(
[0] => Array
(
[order_detail_id] => 1
[user_id] => 2
[order_id] => 1
[product_id] => 13
[product_name] => Prodict Test
)
[1] => Array
(
[order_detail_id] => 2
[user_id] => 2
[order_id] => 1
[product_id] => 12
[product_name] => Product One
)
[2] => Array
(
[order_detail_id] => 3
[user_id] => 2
[order_id] => 1
[product_id] => 11
[product_name] => Fodod
)
[3] => Array
(
[order_detail_id] => 34
[user_id] => 2
[order_id] => 4
[product_id] => 13
[product_name] => Prodict Test
)
[4] => Array
(
[order_detail_id] => 35
[user_id] => 2
[order_id] => 4
[product_id] => 12
[product_name] => Product One1
)
[5] => Array
(
[order_detail_id] => 36
[user_id] => 2
[order_id] => 4
[product_id] => 11
[product_name] => Fodod
)
)
И это strecture я хочу:
Array
(
[0] => Array
(
[product_id] => 13
[product_name] => Prodict Test
['order'] => Array
(
[0] => Array
(
[order_detail_id] => 1
[user_id] => 2
[order_id] => 1
)
[1] => Array
(
[order_detail_id] => 34
[user_id] => 2
[order_id] => 4
)
)
)
[1] => Array
(
[product_id] => 12
[product_name] => Product One
['order'] => Array
(
[0] => Array(
[order_detail_id] => 2
[user_id] => 2
[order_id] => 1
)
[0] => Array(
[order_detail_id] => 35
[user_id] => 2
[order_id] => 4
)
)
)
)
Может кто-нибудь предложить мне как я могу это сделать?
Вот мой стол strecture
Заказать Стол
+----------+---------+------------+
| order_id | user_id | invoice_no |
+----------+---------+------------+
| 1 | 2 | INV-1 |
| 2 | 3 | INV-2 |
| 3 | 5 | INV-3 |
| 4 | 2 | INV-4 |
| 5 | 5 | INV-5 |
| 6 | 3 | INV-6 |
+----------+---------+------------+
order_detail Таблица
+-----------------+---------+----------+------------+
| order_detail_id | user_id | order_id | product_id |
+-----------------+---------+----------+------------+
| 1 | 2 | 1 | 13 |
| 2 | 2 | 1 | 12 |
| 3 | 2 | 1 | 11 |
| 4 | 2 | 1 | 9 |
| 5 | 2 | 1 | 8 |
| 6 | 2 | 1 | 7 |
| 7 | 2 | 1 | 6 |
| 34 | 2 | 4 | 13 |
| 35 | 2 | 4 | 12 |
| 36 | 2 | 4 | 11 |
| 37 | 2 | 4 | 9 |
+-----------------+---------+----------+------------+
PRODCUT стол
+------------+---------------+
| product_id | product_name |
+------------+---------------+
| 1 | Product One |
| 2 | Product Two |
| 3 | Product Three |
| 4 | Product Four |
| 5 | Product Five |
| 6 | Product Six |
| 7 | Fodod |
| 8 | Pepsi |
| 9 | Product Onea |
| 10 | Fodod |
| 11 | Fodod |
| 12 | Product One1 |
| 13 | Prodict Test |
+------------+---------------+
Примечание: Я попробовал оба следующие формы решения StackOverflow вопрос, но не получилось сформировать мне
Зачем использовать общий код? Я думаю, у CI есть поддержка MVC, вы использовали (связанные) модели для своих таблиц? –