MaterialBox.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Model;
  4. use App\Traits\ModelLogChanging;
  5. class MaterialBox extends Model
  6. {
  7. use ModelLogChanging;
  8. protected $fillable=['code','status',"material_box_model_id"];
  9. static public $enums=[
  10. 'status'=>[
  11. ''=>0,
  12. '在库外'=>1,
  13. '在U型线'=>2,
  14. '在缓存架'=>3,
  15. '在立库'=>4,
  16. '在出库中'=>5,
  17. '在入库中'=>6,
  18. '未知'=>7,
  19. '异常'=>8,
  20. ],
  21. ];
  22. function __construct(array $attributes = [])
  23. {
  24. foreach (self::$enums as &$enum) {
  25. $enum=$enum+array_flip($enum);
  26. }
  27. parent::__construct($attributes);
  28. }
  29. public function getStatusAttribute($value)
  30. {
  31. if(!$value)return '';
  32. return self::$enums['status'][$value];
  33. }
  34. public function setStatusAttribute($value)
  35. {
  36. if(!$value)return 0;
  37. $this->attributes['status']=self::$enums['status'][$value];
  38. }
  39. public function stationTaskMaterialBoxes()
  40. { //料箱任务
  41. return $this->hasMany(StationTaskMaterialBox::class,"material_box_id","id");
  42. }
  43. public function materialBoxModel()
  44. { //料箱型号
  45. return $this->belongsTo(MaterialBoxModel::class);
  46. }
  47. }