UserWorkgroup.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. use Illuminate\Database\Eloquent\SoftDeletes;
  8. class UserWorkgroup extends Model
  9. {
  10. use ModelLogChanging;
  11. use SoftDeletes;
  12. protected $table="user_workgroups";
  13. protected $fillable=['name','warehouse_id'];
  14. protected $appends=[
  15. 'token','isNeedRemark',
  16. ];
  17. public function roles()
  18. { //角色
  19. return $this->belongsToMany(Role::class,"role_user_work_group","user_work_group_id","role_id");
  20. }
  21. public function users(){
  22. return $this->belongsToMany('App\User','user_workgroup_user','user_workgroup_id','user_id');
  23. }
  24. public function wareHouse(){
  25. return $this->belongsTo('App\Warehouse','warehouse_id','id');
  26. }
  27. public function signs(){
  28. return $this->belongsTo('App\Sign','signable_id','id');
  29. }
  30. public function getTokenAttribute(){
  31. return md5($this['name'].Carbon::now()->format('Y-m-d'));
  32. }
  33. public function getIsNeedRemarkAttribute()
  34. {
  35. if ($this['signs']['mark'] ?? false) {
  36. return $this['signs']['mark'] == '是' ? true : false;
  37. }
  38. }
  39. public function orderIssues(): BelongsToMany
  40. {
  41. return $this->belongsToMany(OrderIssue::class);
  42. }
  43. public function usersFromAuth()
  44. {
  45. return $this->morphToMany(User::class, 'user_authable');
  46. }
  47. public function owners()
  48. {
  49. return $this->hasMany(Owner::class);
  50. }
  51. }