Выберите данные из 2 таблиц внутри массива в API Rest - PullRequest
0 голосов
/ 17 октября 2019

Я создаю Restful API в Codeigniter, и у меня есть 2 таблицы, которые сохраняют данные из таблицы orders. В таблице Orders имеются столбцы базовой информации id, customer, status и observation. И Orders_products возвращает информацию о товарах в заказе, в этой таблице есть столбцы с именами orders_id (имеют отношение), size, qty, price и subtotal.

Это возможноВызовите это значение из 2 таблиц в одной заявке?

Пример того, что я ожидаю: массив Inside Items - Orders_products таблица.

{
    "customer_id": 14,
    "status": "2",
    "items": [
        {
            "size": "S",
            "qty": 10,
            "price": 10.50,
            "subprice": 100.50, // qty * price

        },
        {
            "size": "M",
            "qty": 2,
            "price": 10.50,
            "subprice": 21.00, // qty * price

        }]
    "observation": nothing,
}

1 Ответ

0 голосов
/ 18 октября 2019

Попробуйте использовать json_decode (items_json) из цикла

$this->db->select("t1.id, t1.customer, t1.status,t1.observation,CONCAT('[',t2.json_data,']') items_json");
$this->db->from("Orders t1");
$this->db->join("(select GROUP_CONCAT(CONCAT('{\"size\":\"',size,'\",\"qty\":','\"',qty,'\",\"price\":','\"',price,'\",\"subprice\":','\"',subprice,'\"}')) AS json_data,order_id
FROM Orders_products group by order_id) t2","t1.id=t2.order_id","left");
$this->db->get()->result_array();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...