在控制器中 :
$productId = 1;
$productNew = 1;
$productHot = 2;
$productDefective = 3;
$product = Product::select('product_type', DB:: raw('count(*) as total'), DB::raw("DATE_FORMAT(created_at, '%Y-%m-%d') as date")。
DB::raw('SUM(product_type = ' . $productNew . ')作為 productNew')。)
DB::raw('SUM(product_type = ' . $productHot . ')作為 productHot')。)
DB::raw('SUM(product_type = ' . $productDefective . ') as productDefective'))
->where('product_id', $productId)->groupBy('date', 'product_type')-> get()-> toArray()。
現在我想在select中創建一個foreach回圈,可以嗎?
Eg:
$productType = [
'productNew' => 1,
'productHot' => 2,
'productDefective' => 3, 'productDefective' =>
];
foreach ($productType as $key => $type) {
DB::raw('SUM(product_type = '/span> . $type 。')作為'.$key.')。)
}
請給我任何想法。謝謝
uj5u.com熱心網友回復:
你可以使用addSelect()來向你的查詢添加列:
$query = Product:: where('product_id', $productId)-> groupBy('date', 'product_type') 。
$productType = [
'productNew' => 1,
'productHot' => 2,
'productDefective' => 3, 'productDefective' =>
];
foreach ($productType as $key => $type) {
$query->addSelect(DB::raw('SUM(product_type = '/span> . $type . ') as ' . $key) )。
}
$result = $query->get()-> toArray()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307813.html
標籤:
