ManagerModel.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * 管理员模型.
  4. *
  5. * @author jim <jim458734573@gmail.com>
  6. * @date 2020-01-23 00:14:56
  7. */
  8. declare(strict_types=1);
  9. namespace App\Model;
  10. use Hyperf\Database\Model\Events\Creating;
  11. use Hyperf\ModelCache\Cacheable;
  12. use Hyperf\ModelCache\CacheableInterface;
  13. class ManagerModel extends BaseModel implements CacheableInterface
  14. {
  15. // 使用自动缓存.
  16. use Cacheable;
  17. /**
  18. * 表名.
  19. *
  20. * @var string
  21. */
  22. protected $table = 'manager';
  23. /**
  24. * 隐藏字段.
  25. *
  26. * @var array
  27. */
  28. protected $hidden = ['password', 'salt'];
  29. /**
  30. * 每个字段格式化数据类型.
  31. *
  32. * @var array
  33. */
  34. protected $casts = [
  35. 'id' => 'integer',
  36. 'created_at' => 'string',
  37. 'updated_at' => 'string',
  38. 'manager_id' => 'string',
  39. 'username' => 'string',
  40. 'nick' => 'string',
  41. 'locked_at' => 'string',
  42. 'role_id' => 'integer',
  43. 'role_name' => 'string',
  44. 'password' => 'string',
  45. 'salt' => 'string',
  46. 'email' => 'string',
  47. 'login_at' => 'string',
  48. ];
  49. /**
  50. * 新数据创建时触发.
  51. *
  52. * @param Creating $event 事件.
  53. *
  54. * @return null
  55. */
  56. public function creating(Creating $event)
  57. {
  58. $manager_id = $this->generateId('manager_id');
  59. $this->manager_id = $manager_id;
  60. }
  61. /**
  62. * 关联角色.
  63. * @return \Hyperf\Database\Model\Relations\HasOne
  64. */
  65. public function role()
  66. {
  67. return $this->hasOne(PermissionRoleModel::class, 'id', 'role_id');
  68. }
  69. }