Size: a a a

Laravel для начинающих

2020 May 19

E

EgorichXXX in Laravel для начинающих
ну в целом телефон может быть и текстовым, почему бы и нет
источник

SG

Sergey Gerasimov in Laravel для начинающих
Shavkatoff ™
public function login($data)
   {
       $res = AppUser::where('phone',$data['phone'])->first();

      if(isset($res->id))
       {
           $otp = rand(1111,9999);

           $res->otp = $otp;
           $res->save();
           

        app('App\Http\Controllers\Controller')->sendSms((int) $data['phone'], $otp);

           $return = ['msg' => 'done','user_id' => $res->id];
       }
       else
       {
           $add                = new AppUser;
           $add->phone         = $data['phone'];
           $otp = rand(1111,9999);
           $add->otp         = $otp;
           $add->save();
           
           return ['msg' => 'done','user_id' => $add->id];
       }

       return $return;
   }
   public function login($data)
   {
       $user = AppUser::query()->firstOrCreate(['phone' => $data['phone']]);
       $user->otp = rand(1111, 9999);
       $user->save();

       app('App\Http\Controllers\Controller')->sendSms((int) $user->phone, $user->otp);

       return responce([
           'msg' => 'done,
           'user_id' => $user->id,
       ]);
   }
источник

SG

Sergey Gerasimov in Laravel для начинающих
Алексей Максимов
Он же описал, если он вставляет телефон +79XXXXXX, то SMS уходит, а когда он хочет отослать на телефон 'phone', то SMS не уходит.
Там ниже было про $data['phone'], потом про $res->phone
источник

SG

Sergey Gerasimov in Laravel для начинающих
Shavkatoff ™
Все работает же, еще в чем проблема ?
Работает - не трогай. В чем проблема? =))
источник

S™

Shavkatoff ™ in Laravel для начинающих
Sergey Gerasimov
Работает - не трогай. В чем проблема? =))
👌🏻
источник

АМ

Алексей Максимов... in Laravel для начинающих
Sergey Gerasimov
   public function login($data)
   {
       $user = AppUser::query()->firstOrCreate(['phone' => $data['phone']]);
       $user->otp = rand(1111, 9999);
       $user->save();

       app('App\Http\Controllers\Controller')->sendSms((int) $user->phone, $user->otp);

       return responce([
           'msg' => 'done,
           'user_id' => $user->id,
       ]);
   }
не так. У него, если пользователь не найден не должно отсылаться СМС. А у тебя в любом случае отсылается. Если не найден, то создается и отсылается
источник

SG

Sergey Gerasimov in Laravel для начинающих
Алексей Максимов
не так. У него, если пользователь не найден не должно отсылаться СМС. А у тебя в любом случае отсылается. Если не найден, то создается и отсылается
Я думаю это ошибка
источник

SG

Sergey Gerasimov in Laravel для начинающих
Иначе зачем в otp записывать код
источник

АМ

Алексей Максимов... in Laravel для начинающих
ну если я вкатают при регистрации +7999999999999 он будет заносить мой телефон в базу и тут же слать мне СМС?
источник

E

EgorichXXX in Laravel для начинающих
да
источник

SG

Sergey Gerasimov in Laravel для начинающих
Алексей Максимов
ну если я вкатают при регистрации +7999999999999 он будет заносить мой телефон в базу и тут же слать мне СМС?
Ну да
источник

E

EgorichXXX in Laravel для начинающих
так правильно
источник

SG

Sergey Gerasimov in Laravel для начинающих
А как иначе?
источник

E

EgorichXXX in Laravel для начинающих
понятное дело что потом базу надо будет чистить часто, но это уже другой вопрос
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну если очень хочешь, можно так:

   public function login($data)
   {
       $user = AppUser::query()->firstOrNew(['phone' => $data['phone']]);
       $user->otp = rand(1111, 9999);

       if ($user->exists) {
           app('App\Http\Controllers\Controller')->sendSms((int) $user->phone, $user->otp);
       }

       $user->save();

       return responce([
           'msg' => 'done,
           'user_id' => $user->id,
       ]);
   }
источник

АМ

Алексей Максимов... in Laravel для начинающих
там должна быть проверка на номера. Не все номера валидные.
источник

SG

Sergey Gerasimov in Laravel для начинающих
Алексей Максимов
там должна быть проверка на номера. Не все номера валидные.
Это другой вопрос
источник

АМ

Алексей Максимов... in Laravel для начинающих
иначе все деньги в трубу вылетят
источник

SG

Sergey Gerasimov in Laravel для начинающих
Если не валидный - то скорей всего апи отвалится
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну точнее ошибку вернет
источник