*/ use HasFactory; protected $fillable = [ 'url', 'title', 'description', 'is_valid', 'fetched_at', 'validated_at', ]; public function casts(): array { return [ 'fetched_at' => 'datetime', 'validated_at' => 'datetime', 'created_at' => 'datetime', 'updated_at' => 'datetime', ]; } public function isValid(): bool { if (is_null($this->validated_at)) { return false; } if (is_null($this->is_valid)) { return false; } return $this->is_valid; } public function articlePublication(): HasOne { return $this->hasOne(ArticlePublication::class); } public function articlePublications(): HasMany { return $this->hasMany(ArticlePublication::class); } protected static function booted(): void { static::created(function ($article) { event(new ArticleFetched($article)); }); } }