hasMany(Product::class, 'mer_id', 'mer_id'); } public function showProduct() { return $this->hasMany(Product::class, 'mer_id', 'mer_id') ->where((new ProductDao())->productShow()) ->field('mer_id,product_id,store_name,image,price,is_show,status,is_gift_bag'); } public function recommend() { return $this->hasMany(Product::class, 'mer_id', 'mer_id') ->where((new ProductDao())->productShow()) ->field('mer_id,product_id,store_name,image,price,is_show,status,is_gift_bag,is_good,ot_price') ->where('seckill',0) ->where('is_good',1) ->order('product_id','desc') ->limit(3); } public function coupon() { $time = date('Y-m-d H:i:s'); return $this->hasMany(StoreCouponUser::class, 'mer_id', 'mer_id')->where('start_time', '<', $time)->where('end_time', '>', $time) ->where('is_fail', 0)->where('status', 0)->order('coupon_price DESC') ->with(['product' => function ($query) { $query->field('coupon_id,product_id'); }, 'coupon' => function ($query) { $query->field('coupon_id,type'); }]); } public function MerchantIntention(){ return $this->hasOne(MerchantIntention::class, 'mer_id', 'mer_id'); } public function merchantCategory() { return $this->hasOne(MerchantCategory::class, 'merchant_category_id', 'category_id'); } public function getMerCommissionRateAttr() { return $this->commission_rate ? $this->commission_rate : $this->merchantCategory->commission_rate; } public function spread() { return $this->hasOne(User::class, 'uid', 'recommender'); } }