LaborCompany.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. class LaborCompany extends Model
  8. {
  9. use ModelLogChanging;
  10. use ModelTimeFormat;
  11. protected $fillable = [
  12. 'id',
  13. 'name',//名称
  14. 'warehouse_id',//仓库ID
  15. 'priority',//优先级 数字越大优先级越高
  16. 'mail',//邮箱
  17. 'man_num',//男工人数
  18. 'woman_num',//女工人数
  19. ];
  20. static public $enums = [
  21. 'status' => [
  22. '' => 0,
  23. '启用' => 1,
  24. '禁用' => 2,
  25. ],
  26. ];
  27. function __construct(array $attributes = [])
  28. {
  29. foreach (self::$enums as &$enum) {
  30. $enum = $enum + array_flip($enum);
  31. }
  32. parent::__construct($attributes);
  33. }
  34. public function getStatusAttribute($value)
  35. {
  36. if (!$value) return '';
  37. return self::$enums['status'][$value];
  38. }
  39. public function setStatusAttribute($value)
  40. {
  41. if (!$value) return 0;
  42. $this->attributes['status'] = self::$enums['status'][$value];
  43. }
  44. /**
  45. * @return BelongsTo
  46. */
  47. public function warehouse(): BelongsTo
  48. {
  49. return $this->belongsTo(Warehouse::class);
  50. }
  51. }