<?php namespace App\Models; use App\Models\Scopes\CompanyScope; use EloquentFilter\Filterable; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Requirement extends Model { use HasFactory,SoftDeletes,Filterable; protected $fillable = [ 'title', 'asset_id', 'status', 'requirement_group_id', 'priority', 'note', 'description', 'acceptance', 'mailto', 'company_id', 'comment', 'reviewed_by', 'note', 'close_reason', 'plan_id' ]; protected $casts = [ 'mailto' => 'array', ]; protected static function booted() { parent::booted(); // TODO: Change the autogenerated stub static::addGlobalScope(new CompanyScope); } public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(User::class, 'created_by'); } public function reviewedBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(User::class, 'reviewed_by'); } public function asset(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(Asset::class); } public function plan(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(Plan::class); } public function group(): \Illuminate\Database\Eloquent\Relations\BelongsTo { return $this->belongsTo(RequirementGroup::class, "requirement_group_id"); } }