| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace App;
- use Illuminate\Database\Eloquent\Model;
- use App\Traits\ModelLogChanging;
- use Illuminate\Database\Eloquent\Relations\HasOne;
- class MaterialBox extends Model
- {
- use ModelLogChanging;
- protected $fillable=['code','status',"material_box_model_id"];
- static public $enums=[
- 'status'=>[
- ''=>0,
- '在库外'=>1,
- '在U型线'=>2,
- '在缓存架'=>3,
- '在立库'=>4,
- '在出库中'=>5,
- '在入库中'=>6,
- '未知'=>7,
- '异常'=>8,
- ],
- ];
- function __construct(array $attributes = [])
- {
- foreach (self::$enums as &$enum) {
- $enum=$enum+array_flip($enum);
- }
- parent::__construct($attributes);
- }
- public function performTask():HasOne
- {
- return $this->hasOne(StationTaskMaterialBox::class,"material_box_id")
- ->whereNotIn("status",["完成","取消"]);
- }
- public function station():HasOne
- {
- return $this->hasOne(Station::class);
- }
- public function getStatusAttribute($value)
- {
- if(!$value)return '';
- return self::$enums['status'][$value];
- }
- public function setStatusAttribute($value)
- {
- if(!$value)return 0;
- $this->attributes['status']=self::$enums['status'][$value];
- }
- public function stationTaskMaterialBoxes()
- { //料箱任务
- return $this->hasMany(StationTaskMaterialBox::class,"material_box_id","id");
- }
- public function materialBoxModel()
- { //料箱型号
- return $this->belongsTo(MaterialBoxModel::class);
- }
- }
|