123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Models;
- use App\Http\Requests\IndexHelper;
- use App\Models\Enums\DisplayIndexObjectType;
- 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 RequirementGroup extends Model
- {
- use HasFactory,Filterable,SoftDeletes;
- protected $fillable = [
- 'name', 'abbr_name', 'asset_id','parent_id','company_id'
- ];
- protected static function booted(): void
- {
- static::addGlobalScope(new CompanyScope);
- static::creating(function (RequirementGroup $requirementGroup){
- $type =DisplayIndexObjectType::REQUIREMENTGROUP;
- $displayIndex = IndexHelper::getObjectMaxIndex($type);
- $requirementGroup->display_id =$displayIndex;
- });
- }
- public function children()
- {
- return $this->hasMany(RequirementGroup::class, 'parent_id');
- }
- public function parent()
- {
- return $this->belongsTo(RequirementGroup::class, 'parent_id');
- }
- public function requirement(){
- return $this->hasMany(Requirement::class,'requirement_group_id');
- }
- public function asset()
- {
- return $this->belongsTo(Asset::class, 'asset_id');
- }
- }
|