UserService.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * ${CARET}
  4. * @file:NoitceService.php
  5. * @Created by gnitif
  6. * @Date: 2023/3/27
  7. * @Time: 11:54
  8. */
  9. namespace Modules\Channel\Services\User;
  10. use Modules\Channel\Models\Users;
  11. class UserService {
  12. public static function listByRole(string $identify, array $field){
  13. return Users::join('user_has_roles','user_has_roles.user_id','=','users.id')
  14. ->join('roles','roles.id','=','user_has_roles.role_id')
  15. ->where('roles.identify',$identify)
  16. ->select($field)
  17. ->get();
  18. }
  19. public static function userHasRole(int $uid,string $identify){
  20. return self::userHasRoles($uid,[$identify]);
  21. }
  22. public static function userHasRoles(int $uid,array $identify){
  23. return Users::join('user_has_roles','user_has_roles.user_id','=','users.id')
  24. ->join('roles','roles.id','=','user_has_roles.role_id')
  25. ->where('users.id',$uid)
  26. ->whereIn('roles.identify',$identify)
  27. ->count();
  28. }
  29. public static function getOptimizers($pid,array $field){
  30. return Users::where('pid',$pid)->where('status',1)->select($field)->get();
  31. }
  32. }