【发布时间】:2015-12-02 12:40:45
【问题描述】:
我有 3 个数据库表客户、优惠券和类别
clients table
身份证, 姓名, 网站, 描述, 商标, 蛞蝓
categories table
身份证, 姓名, 蛞蝓
coupons table
身份证, 客户 ID, 类别 ID, 类型, 优惠券, 标题, 描述, 关联, 意见, 蛞蝓, 到期
关系是 1)许多优惠券属于客户(多对一关系) 2)许多优惠券属于类别(多对一关系)
我使用的是 laravel 5.1。
如何通过客户详细信息、客户拥有的优惠券数量以及单个客户拥有的总类别数来获取客户的唯一数量。
简化:我需要获取客户详细信息并显示特定客户的 xxx 个类别中有 xxx 个优惠券可用。
到目前为止,我可以获得唯一的客户详细信息和优惠券数量。
public function getAvailableClientsWithItemCountList($page = 1)
{
return Client::join('coupons', 'clients.id', '=', 'coupons.client_id')
->join('categories', 'coupons.category_id', '=', 'categories.id')
->where('coupons.expiry', '>', Carbon::today())
->groupBy('clients.id')
->skip(STORES_PER_REQUEST*($page-1))
->take(STORES_PER_REQUEST)
->get(['clients.id', 'clients.name', 'clients.slug', 'clients.logo', DB::raw('count(clients.id) as dealsCount'), DB::raw('count(categories.id) as categoriesCount')]);
}
STORES_PER_REQUEST = 9(常量)用于分页。 提前致谢。
【问题讨论】:
标签: mysql eloquent laravel-5.1