orders_数量のGROUP_CONCATはlaravel&MySQLで結果を与えることができません

スミータ・パティル:

ように私は2019年から2020年の間の年の私のクエリを私はすべてのorders_qtyを収集したい魔女の表を以下しています

クエリのように:

$get_details_year= DB::select('SELECT EXTRACT(YEAR FROM deliver_date),GROUP_CONCAT(orders_qty) from orders where order_status=? and EXTRACT(YEAR FROM deliver_date) between ? AND ? GROUP BY EXTRACT(YEAR FROM deliver_date)',[6,'2019','2020']);

テーブル:

orders_id  orders_qty delivery_date
1            2,2,       2019-02-01
2            2,2,       2020-02-05
3            1,         2020-02-05

私の結果:

  array:2 [▼
  0 => {#430 ▼
    +"EXTRACT(YEAR FROM deliver_date)": 2019
    +"GROUP_CONCAT(orders_qty)": "2,2,"
  }
  1 => {#431 ▼
    +"EXTRACT(YEAR FROM deliver_date)": 2020
    +"GROUP_CONCAT(orders_qty)": "2,2,,1,"
  }
]

除外結果:

   array:2 [▼
      0 => {#429 ▼
        +"EXTRACT(YEAR FROM deliver_date)": 2019
        +"GROUP_CONCAT(orders_qty)": "2,2,"
      }
      1 => {#430 ▼
        +"EXTRACT(YEAR FROM deliver_date)": 2020
        +"GROUP_CONCAT(orders_qty)": "2,2,1,"
      }

]
明菜:
SET @order_status:=6;
SET @delivery_date_from:=2019;
SET @delivery_date_till:=2020;

SELECT YEAR(delivery_date) AS `year`,
       GROUP_CONCAT(orders_qty SEPARATOR '') AS orders_qty
FROM orders
WHERE order_status = @order_status
  AND YEAR(delivery_date) BETWEEN @delivery_date_from 
                              AND @delivery_date_till 
GROUP BY YEAR(delivery_date);

フィドル

Laravelはこれがある構文で(それはそうです)

$get_details_year= DB::select('SELECT YEAR(delivery_date),GROUP_CONCAT(orders_qty SEPARATOR '') FROM orders WHERE order_status = ? AND YEAR(delivery_date) BETWEEN ? AND ? GROUP BY YEAR(delivery_date);',[6,'2019','2020']);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=27965&siteId=1