hasOne(Coupon::class, 'coupon_id', 'coupon_id'); } /** * 获取-单条 * @param array $params * @param array $fields * @return object|null */ public static function getOne(array $params, array $fields = ['*']): object|null { return self::where($params)->first($fields); } /** * 获取优惠卷信息-多条 * @param array $params * @param array $coupon_params * @param array $fields * @return Collection|array */ public static function getWithCouponList(array $params,array $coupon_params,array $application_scope_params, array $fields = ['*']): Collection|array { return self::with(['Coupon']) ->whereHas('Coupon' , function($query) use ($coupon_params,$application_scope_params){ $query->where($coupon_params)->whereIn('application_scope',$application_scope_params); }) ->where($params)->get($fields); } /** * 获取优惠卷信息-单条 * @param array $params * @param array $coupon_params * @param array $fields * @return object|null */ public static function getDateWithCouponOne(array $params, array $coupon_params, array $application_scope_params, array $fields = ['*']): object|null { return self::with(['Coupon']) ->whereHas('Coupon' , function($query) use ($coupon_params,$application_scope_params){ $query->where($coupon_params)->whereIn('application_scope',$application_scope_params); }) ->where($params) ->first($fields); } /** * 新增用户优惠卷 * @param array $data * @return \Hyperf\Database\Model\Model|UserCoupon */ public static function addUserCoupon(array $data): \Hyperf\Database\Model\Model|UserCoupon { return self::create($data); } /** * 修改 * @param array $params * @param array $data * @return int */ public static function edit(array $params = [], array $data = []): int { return self::where($params)->update($data); } }