50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Casts\JsonArray;
|
|
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Activity extends Model
|
|
{
|
|
use HasFactory;
|
|
use HasDateTimeFormatter;
|
|
|
|
protected $casts = [
|
|
'is_use' => 'bool',
|
|
'coupons_rule'=> JsonArray::class,
|
|
'gifts_rule'=> JsonArray::class,
|
|
];
|
|
|
|
protected $fillable = [
|
|
'title', 'cover', 'content', 'is_use', 'coupons_rule', 'gifts_rule',
|
|
];
|
|
|
|
public function couponSet()
|
|
{
|
|
return $this->hasMany(ActivityCoupon::class);
|
|
}
|
|
|
|
public function giftSet()
|
|
{
|
|
return $this->hasMany(ActivityGift::class);
|
|
}
|
|
|
|
public function parts()
|
|
{
|
|
return $this->belongsToMany(ProductPart::class, 'activity_product_parts', 'activity_id', 'part_id');
|
|
}
|
|
|
|
public function coupons()
|
|
{
|
|
return $this->belongsToMany(Coupon::class, 'activity_coupons', 'activity_id', 'coupon_id')->withPivot('qty');
|
|
}
|
|
|
|
public function gifts()
|
|
{
|
|
return $this->belongsToMany(ProductSku::class, 'activity_gifts', 'activity_id', 'sku_id')->withPivot('qty');
|
|
}
|
|
}
|