'integer', 'user_id' => 'integer', 'patient_id' => 'integer', 'coupon_id' => 'integer', 'user_coupon_status' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime']; protected string $primaryKey = "user_coupon_id"; /** * 关联医院表 */ public function Coupon(): HasOne { return $this->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 $fields = ['*']): Collection|array { return self::with(['Coupon']) ->whereHas('Coupon' , function($query) use ($coupon_params){ $query->where($coupon_params); }) ->where($params)->get($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); } }