OwnerMaterial.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 getSpecificationAttribute($value){
  31. return str_replace(array("\r\n","\n","\r","\"","&quot;"),' ',$value);
  32. }
  33. public function getSpecialAttribute($value){
  34. return str_replace(array("\r\n","\n","\r","\"","&quot;"),' ',$value);
  35. }
  36. public function scopeFilter($query,$filters)
  37. {
  38. return $filters->apply($query);
  39. }
  40. }