StationTaskMaterialBox.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  4. use Illuminate\Database\Eloquent\Relations\HasOne;
  5. use Illuminate\Database\Eloquent\Relations\MorphOne;
  6. use App\Traits\LogModelChanging;
  7. class StationTaskMaterialBox extends Model
  8. {
  9. use LogModelChanging;
  10. protected $fillable=['station_id','material_box_id','status'];
  11. function materialBox(): HasOne
  12. {
  13. return $this->hasOne(MaterialBox::class,"id","material_box_id");
  14. }
  15. function station(): BelongsTo
  16. {
  17. return $this->belongsTo(Station::class,"id","station_id");
  18. }
  19. function stationTaskBatch(): BelongsTo
  20. {
  21. return $this->belongsTo(StationTaskBatch::class,"id","station_id");
  22. }
  23. function stationTask(): MorphOne
  24. {
  25. return $this->morphOne(StationTask::class,'station_taskable');
  26. }
  27. function stationTaskCommodities(): HasOne
  28. {
  29. return $this->hasOne(StationTaskCommodity::class,"station_task_batch_id","station_task_batch_id")
  30. ->where('material_box_id',$this['material_box_id']);
  31. }
  32. }