【发布时间】:2018-07-31 01:15:56
【问题描述】:
我想在 laravel 中显示这个查询:
SELECT products.*, (
SELECT COUNT(*)
FROM category
WHERE category.product_id = products.id
AND category.date_creation BETWEEN '2018-02-16 00:00:00' AND '2018-02-19 23:59:59'
GROUP BY product_id
)nbr
FROM products
我试试这个:
$a= $date_du;
$b = $date_au;
$products = DB::table('products')
->leftjoin('category','category.product_id','=','products.id')
->select('products.*',
DB::raw("(SELECT COUNT(*) FROM category
WHERE category.product_id = products.id AND category.date_creation >= '$a' AND category.date_creation <= '$b' group by product_id) as nbr"))
->get();
但是子句 group by 不起作用。
【问题讨论】:
-
你为什么不使用 Rships?
-
您提供的sql查询是否正常工作?
-
我已经添加了我的答案。试试。如果您更详细地提供您的问题,那么给出更好的答案会很容易。
-
@SagarGautam,你的回答效果很好
-
我感觉很好,它帮助了你。恭喜:D
标签: php mysql laravel laravel-query-builder