【问题标题】:Fetch category wise products from mysql using php in json format使用 php 以 json 格式从 mysql 获取类别明智的产品
【发布时间】:2021-09-08 00:49:34
【问题描述】:

运行此查询后

SELECT cat.id,cat.name,pro.id,pro.name,pro.price
FROM `products` as pro
JOIN categories as cat on pro.cat_id = cat.id
ORDER BY cat.id;

我得到如图所示的结果。我想用json格式的php mysql来获取这个

【问题讨论】:

    标签: php mysql arrays json


    【解决方案1】:

    您可以将JSON_ARRAYAGGJSON_OBJECT 用作:

    SELECT cat.id, cat.name, JSON_ARRAYAGG(
      JSON_OBJECT('pro_name',pro.name,'pro_pice',pro.price)
    ) prod
    FROM products as pro
    JOIN categories as cat on pro.cat_id = cat.id
    GROUP BY cat.id, cat.name
    ORDER BY cat.id;
    

    MySQL online query execute

    结果:

    +====+===========+================================================================================+
    | id | name      | prod                                                                           |
    +====+===========+================================================================================+
    | 1  | Category1 | [{"pro_name": "Prod1", "pro_pice": 10}, {"pro_name": "Prod2", "pro_pice": 12}] |
    +----+-----------+--------------------------------------------------------------------------------+
    | 2  | Category2 | [{"pro_name": "Prod3", "pro_pice": 10}]                                        |
    +----+-----------+--------------------------------------------------------------------------------+
    

    【讨论】:

    • JSON_ARRAYAGG 不存在虽然我使用 mysql 10,但我收到此错误
    猜你喜欢
    • 2021-11-24
    • 2021-10-08
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 2017-07-06
    相关资源
    最近更新 更多