"datetime", "unpublish_at" => "datetime" ]; const STATUS_DRAFT = 0; const STATUS_PENDING = 1; const STATUS_PUBLISHED = 2; const STATUS_ARCHIVE = 3; function scopePending($query) { $query->where("status", static::STATUS_PENDING); } function scopePublished($query) { $query->where("status", static::STATUS_PUBLISHED); } function comments() { return $this->morphMany(Comment::class, "commentable"); } function publish() { $this->status = static::STATUS_PUBLISHED; $this->save(); } function unpublish() { $this->status = static::STATUS_ARCHIVE; $this->save(); } // Для страницы модерации function link() { return "/article/$this->id"; } }