UserWorkgroup.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App;
  3. use Carbon\Carbon;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Traits\ModelLogChanging;
  6. use Illuminate\Database\Eloquent\Relations\BelongsToMany;
  7. class UserWorkgroup extends Model
  8. {
  9. use ModelLogChanging;
  10. protected $table="user_workgroups";
  11. protected $fillable=['name','warehouse_id'];
  12. protected $appends=[
  13. 'token','isNeedRemark',
  14. ];
  15. public function roles()
  16. { //角色
  17. return $this->belongsToMany(Role::class,"role_user_work_group","user_work_group_id","role_id");
  18. }
  19. public function users(){
  20. return $this->belongsToMany('App\User','user_workgroup_user','user_workgroup_id','user_id');
  21. }
  22. public function wareHouse(){
  23. return $this->belongsTo('App\Warehouse','warehouse_id','id');
  24. }
  25. public function signs(){
  26. return $this->belongsTo('App\Sign','signable_id','id');
  27. }
  28. public function getTokenAttribute(){
  29. return md5($this['name'].Carbon::now()->format('Y-m-d'));
  30. }
  31. public function getIsNeedRemarkAttribute()
  32. {
  33. if ($this['signs']['mark'] ?? false) {
  34. return $this['signs']['mark'] == '是' ? true : false;
  35. }
  36. }
  37. public function orderIssues(): BelongsToMany
  38. {
  39. return $this->belongsToMany(OrderIssue::class);
  40. }
  41. }