larave -- leftJoin IFNULL 链表查询

Posted jdsyj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了larave -- leftJoin IFNULL 链表查询相关的知识,希望对你有一定的参考价值。

--- 优惠卷主表 和 领取表的关联 目的查询有效优惠卷(还有可领取的数量)

 

$this->query = (new CouponRule())->newQuery();
if ($where)
$this->query = $this->query->where($where);


$fields = array_merge($fields, [
\DB::raw("IFNULL(receive_count, 0) as coupon_log_count")
]);
if ($isInvalid != ‘-1‘ && $isInvalid === ‘0‘)
// 获取有效优惠卷
$this->query = $this->query
->where(‘coupon_rule.is_invalid‘, 0)
->where(function ($query)
return $query->where(‘coupon_rule.valid_time_end‘, ‘>‘, Carbon::now())->orWhere(‘coupon_rule.valid_days‘, ‘>‘, 0);
)
->where(‘coupon_rule.total‘, ‘>‘, \DB::raw("IFNULL(ds_d.receive_count, 0)"));

$this->query = $this->query->select($fields)
->leftJoin(‘coupon_data as d‘, function ($join)
$join->on(‘coupon_rule.id‘, ‘=‘, ‘d.coupon_id‘);
);

以上是关于larave -- leftJoin IFNULL 链表查询的主要内容,如果未能解决你的问题,请参考以下文章

left join 右表对应多条记录取第一条

用户留存率SQL题

用户留存率SQL题

leetcode 1164 指定日期的產品價格

mysql学习-group by的使用

laraver6-数据填充