diff --git a/app/Models/Ad.php b/app/Models/Ad.php index 0bed321f..5a7a7eaf 100644 --- a/app/Models/Ad.php +++ b/app/Models/Ad.php @@ -3,17 +3,23 @@ namespace App\Models; use Dcat\Admin\Traits\HasDateTimeFormatter; - use Illuminate\Database\Eloquent\Model; class Ad extends Model { + use Concerns\HasShowable; use HasDateTimeFormatter; + /** + * @var array + */ protected $casts = [ - 'is_show' => 'boolean', + 'is_show' => 'bool', ]; + /** + * 此广告所属的广告位 + */ public function address() { return $this->belongsTo(AdAddress::class, 'address_id'); diff --git a/app/Models/AdAddress.php b/app/Models/AdAddress.php index a4f2317a..13de6633 100644 --- a/app/Models/AdAddress.php +++ b/app/Models/AdAddress.php @@ -3,18 +3,23 @@ namespace App\Models; use Dcat\Admin\Traits\HasDateTimeFormatter; - use Illuminate\Database\Eloquent\Model; class AdAddress extends Model { + use Concerns\HasShowable; use HasDateTimeFormatter; - protected $table = 'ad_addresses'; + /** + * @var array + */ protected $casts = [ - 'is_show' => 'boolean', + 'is_show' => 'bool', ]; + /** + * 属于此广告位的广告 + */ public function ads() { return $this->hasMany(Ad::class, 'address_id'); diff --git a/app/Models/Concerns/HasShowable.php b/app/Models/Concerns/HasShowable.php new file mode 100644 index 00000000..47e6368e --- /dev/null +++ b/app/Models/Concerns/HasShowable.php @@ -0,0 +1,19 @@ +where('is_show', true); + } +}