OwnerMaterial.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Traits\ModelLogChanging;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. use Illuminate\Database\Eloquent\Relations\HasOne;
  8. class OwnerMaterial extends Model
  9. {
  10. use ModelLogChanging;
  11. use ModelTimeFormat;
  12. protected $table = 'owner_material';
  13. protected $fillable = ['owner_id','material_id','material_code','size','special','specification','initiator'];
  14. public function owner():BelongsTo
  15. {
  16. return $this->belongsTo(Owner::class);
  17. }
  18. public function material():BelongsTo
  19. {
  20. return $this->belongsTo(Material::class);
  21. }
  22. public function initiator():BelongsTo
  23. {
  24. return $this->belongsTo(User::class,'initiator','id');
  25. }
  26. public function file():HasOne
  27. {
  28. return $this->hasOne(UploadFile::class,'table_id','id')->where('table_name','owner_material');
  29. }
  30. public function scopeFilter($query,$filters)
  31. {
  32. return $filters->apply($query);
  33. }
  34. }