我有一个订单和产品之间的多对多关系。
<?php
class Order extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
public function products()
{
return $this->belongsToMany('Product');
}
}
?>
<?php
class Product extends Eloquent {
public function orders()
{
return $this->belongsToMany('Order');
}
}
?>
需要获取每个产品被订购的次数。在mysql中,可以使用以下查询来完成此任务
SELECT products.id, products.description, count( products.id )
FROM products
INNER JOIN order_product ON products.id = order_product.product_id
INNER JOIN orders ON orders.id = order_product.order_id
GROUP BY product_id
LIMIT 0 , 30
以上查询的结果如下:
id description count(products.id)
1 Shoes 3
2 Bag 2
3 Sun glasses 2
4 Shirt 2
如何使用laravel eloquent(不使用查询构建器)来完成此任务? 如何使用laravel eloquent获取每个产品的订单次数?