Admin.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace app\common\model\system\admin;
  3. use app\common\model\BaseModel;
  4. use app\common\model\system\auth\Role;
  5. class Admin extends BaseModel
  6. {
  7. /**
  8. * @return string
  9. * @author zfy
  10. * @day 2020-03-30
  11. */
  12. public static function tablePk(): string
  13. {
  14. return 'admin_id';
  15. }
  16. /**
  17. * @return string
  18. * @author zfy
  19. * @day 2020-03-30
  20. */
  21. public static function tableName(): string
  22. {
  23. return 'system_admin';
  24. }
  25. /**
  26. * @param $value
  27. * @return array
  28. * @author zfy
  29. * @day 2020-03-30
  30. */
  31. public function getRolesAttr($value)
  32. {
  33. return array_map('intval', explode(',', $value));
  34. }
  35. /**
  36. * @param $value
  37. * @return string
  38. * @author zfy
  39. * @day 2020-03-30
  40. */
  41. public function setRolesAttr($value)
  42. {
  43. return implode(',', $value);
  44. }
  45. /**
  46. * @param bool $isArray
  47. * @return array|string
  48. * @author zfy
  49. * @day 2020-04-09
  50. */
  51. public function roleNames($isArray = false)
  52. {
  53. $roleNames = Role::getDB()->whereIn('role_id', $this->roles)->column('role_name');
  54. return $isArray ? $roleNames : implode(',', $roleNames);
  55. }
  56. public function searchRealNameAttr($query,$value)
  57. {
  58. $query->whereLike('real_name',"%{$value}%");
  59. }
  60. }