'boolean', 'submitted_at' => 'datetime', 'is_banned' => 'boolean', ]; protected static function booted() { static::creating(function ($model) { if (empty($model->uuid)) { $model->uuid = \Illuminate\Support\Str::uuid()->toString(); } if (empty($model->submitted_at)) { $model->submitted_at = now(); } }); } public function comments(): MorphMany { return $this->morphMany(Comments::class, 'commentable'); } public function category(): BelongsTo { return $this->belongsTo(Category::class); } public function scopeMale(Builder $query): Builder { return $query->where('gender', true); } public function scopeFemale(Builder $query) { return $query->where('gender', false); } public function scopeToday(Builder $query): Builder { return $query->whereDate('submitted_at', today()); } }