Project.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Models;
  3. use App\Models\Scopes\CompanyScope;
  4. use EloquentFilter\Filterable;
  5. use Illuminate\Database\Eloquent\Factories\HasFactory;
  6. use Illuminate\Database\Eloquent\Model;
  7. class Project extends Model
  8. {
  9. use HasFactory, Filterable;
  10. protected $fillable = [
  11. "name","code","const","available_days","status","begin","end","latitude","longitude","type","acl","whitelist","description"
  12. ];
  13. protected static function booted(): void
  14. {
  15. static::addGlobalScope(new CompanyScope);
  16. }
  17. public function plans(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
  18. {
  19. return $this->belongsToMany(Plan::class, 'project_plan');
  20. }
  21. public function assets(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
  22. {
  23. return $this->belongsToMany(Asset::class, 'project_asset');
  24. }
  25. public function requirements(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
  26. {
  27. return $this->belongsToMany(Requirement::class, 'project_requirement');
  28. }
  29. public function teamMembers(): \Illuminate\Database\Eloquent\Relations\HasMany
  30. {
  31. return $this->hasMany(TeamMember::class);
  32. }
  33. }