AdminUserModel.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /**
  3. *------------------------------------------------------
  4. * AdminUserModel.php
  5. *------------------------------------------------------
  6. *
  7. * @author m@9026.com
  8. * @date 2017/03/21 10:15
  9. * @version V1.0
  10. *
  11. */
  12. namespace App\Models;
  13. use Illuminate\Foundation\Auth\User as Authenticatable;
  14. use Illuminate\Http\Request;
  15. use Illuminate\Support\Facades\Auth;
  16. use Illuminate\Support\Facades\Validator;
  17. use Illuminate\Support\Str;
  18. use Illuminate\Database\Eloquent\Model;
  19. use Illuminate\Database\Eloquent\SoftDeletes;
  20. class AdminUserModel extends Authenticatable
  21. {
  22. use SoftDeletes;
  23. /**
  24. * 数据表名
  25. */
  26. protected $table = "admin_users";
  27. /**
  28. * 主键
  29. */
  30. protected $primaryKey = "id";
  31. protected $guarded = [];
  32. public function getValidator(Request $request, $type)
  33. {
  34. if ($type == 'store') {
  35. $validator = Validator::make($request->input('data'), [
  36. 'name' => 'required|unique:admin_users'
  37. ], [
  38. 'name.required' => '用户名必填',
  39. 'name.unique' => '用户名已存在'
  40. ]);
  41. } else if ($type == 'change-password') {
  42. $validator = Validator::make($request->input('data'), [
  43. 'old_password' => 'required',
  44. 'password' => 'required|min:6|confirmed'
  45. ], [
  46. 'old_password.required' => '请填写原来密码',
  47. 'password.required' => '密码必填,且不能少于6位',
  48. 'password.min' => '密码必填,且不能少于6位',
  49. 'password.confirmed' => '两次填写的密码不一致'
  50. ]);
  51. } else {
  52. $validator = Validator::make($request->input('data'), [
  53. 'name' => 'required'
  54. ], [
  55. 'name.required' => '账号必填'
  56. ]);
  57. $data = $request->input('data');
  58. $check = $this->where([
  59. ['id', '!=', $request->input('id')],
  60. ['name', '=', $data['name']]
  61. ])->first();
  62. $validator->after(function ($validator) use($check) {
  63. if ($check) {
  64. $validator->errors()->add('name', '用户名已存在');
  65. }
  66. });
  67. }
  68. return $validator;
  69. }
  70. public function adminRole()
  71. {
  72. return $this->belongsTo('App\Models\AdminRoleModel', 'admin_role_id');
  73. }
  74. public function adminroles(){
  75. return $this->hasOne(AdminRoleModel::class,'id','admin_role_id');
  76. }
  77. public function updateToken()
  78. {
  79. $token = Str::random(60);
  80. $token = hash('sha256', $token);
  81. $this->update(['token' => $token]);
  82. }
  83. }