UserAddress.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Repositories\Models\Dwbs;
  3. use App\Repositories\Models\Model;
  4. use Illuminate\Support\Facades\Crypt;
  5. class UserAddress extends Model
  6. {
  7. /**
  8. * @var string
  9. */
  10. protected $table = 'base_user_address';
  11. protected $guarded = [];
  12. /**
  13. * The attributes excluded from the model's JSON form.
  14. *
  15. * @var array
  16. */
  17. protected $hidden = [];
  18. protected $casts = [];
  19. public function getMMobileAttribute()
  20. {
  21. if (isset($this->attributes['mobile_encryption'])) {
  22. return Crypt::decryptString($this->attributes['mobile_encryption']);
  23. }
  24. return '';
  25. }
  26. /**
  27. * 根据用户手机号查询用户
  28. * @param $mobile
  29. * @return mixed
  30. */
  31. public static function byMobileGetIds($mobile)
  32. {
  33. // return Cache::remember("model:user:byMobileGetIds:{$mobile}", Carbon::now()->addHours(4), function () use ($mobile) {
  34. if (strlen($mobile) == 11) {
  35. $users = self::query()->where('mobile', mobile_hidden($mobile))->select(['id', 'mobile', 'mobile_encryption'])->get();
  36. $len = count($users);
  37. if (!$len) return [];
  38. $ids = [];
  39. foreach ($users as $user) {
  40. if ($mobile === $user->m_mobile) {
  41. $ids[] = $user->id;
  42. }
  43. }
  44. return $ids;
  45. }
  46. return self::query()->where('mobile', 'like', "%{$mobile}")->pluck('id');
  47. // });
  48. }
  49. }