UserInfo.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Module\User\Models;
  3. use App\Module\User\Enums\PHONE_STATUS;
  4. use App\Module\Merchant\Model\Merchant;
  5. use App\Module\User\Enums\STATUS;
  6. use App\Module\User\Enums\STATUS2;
  7. use App\Module\User\Models\Events\UserInfoSaved;
  8. use App\Module\User\Models\Events\UserInfoUpdate;
  9. use UCore\ModelCore;
  10. use Illuminate\Database\Eloquent\Relations\HasOne;
  11. use Illuminate\Database\Eloquent\SoftDeletes;
  12. /**
  13. * 用户信息
  14. *
  15. * field start
  16. * @property int $user_id 用户ID
  17. * @property \App\Module\User\Enums\STATUS $status 状态
  18. * @property string $google2fa_secret
  19. * @property string $nickname 昵称
  20. * @property string $avatar 头像
  21. * @property \Carbon\Carbon $created_at
  22. * @property \Carbon\Carbon $updated_at
  23. * @property \Carbon\Carbon $deleted_at
  24. * @property string $wx_id 微信号
  25. * field end
  26. *
  27. * Class UserInfo
  28. * @property UserPhone $user_phone
  29. */
  30. class UserInfo extends \UCore\ModelCore
  31. {
  32. use SoftDeletes;
  33. protected $primaryKey = 'user_id';
  34. protected $casts = [
  35. 'status' => STATUS::class,
  36. ];
  37. protected $dispatchesEvents = [
  38. 'updated' => UserInfoUpdate::class,
  39. 'saved' => UserInfoSaved::class
  40. ];
  41. // attrlist start
  42. protected $fillable = [
  43. 'user_id',
  44. 'status',
  45. 'google2fa_secret',
  46. 'nickname',
  47. 'avatar',
  48. 'wx_id',
  49. ];
  50. // attrlist end
  51. public function user(): HasOne
  52. {
  53. return $this->hasOne(User::class, 'id', 'user_id');
  54. }
  55. public function user_phone(): HasOne
  56. {
  57. return $this->hasOne(UserPhone::class, 'user_id', 'user_id')->where('status', '=', PHONE_STATUS::BIND);
  58. }
  59. }