// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\common\model; use cores\BaseModel; use app\common\library\helper; /** * 商品关联优惠券模型 * Class GoodsCoupon * @package app\common\model */ class GoodsCoupon extends BaseModel { // 定义表名 protected $name = 'goods_coupon'; // 定义主键 protected $pk = 'id'; /** * 关联模型:优惠券 * @return \think\model\relation\HasOne */ public function coupon(): \think\model\relation\HasOne { return $this->hasOne('Coupon', 'id', 'coupon_id'); } /** * 获取优惠券信息详情 * @param int $goodsId * @param string $goodsCouponId * @return array|null|static */ public static function detail(int $goodsId, string $goodsCouponId) { return static::get(['goods_id' => $goodsId, 'coupon_id' => $goodsCouponId], ['coupon']); } /** * 获取商品优惠券列表 * @param int $goodsId 商品ID * @return \think\Collection * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function getCouponList(int $goodsId): \think\Collection { return (new static)->where('goods_id', '=', $goodsId)->order(['id' => 'asc'])->select(); } }