Неопределенное свойство: App \ Http \ Controllers \ Api \ ApiAuthController :: $ auth - PullRequest
0 голосов
/ 11 февраля 2020

введите описание изображения здесь

Я новичок в Laravel Я не знаю, как выяснить ошибку
вот мой laravel код:

    public function login(Request $request)
    {

      $gen_user = GenUser::where('username',$request->username)->where('confirmed',0)->first();
      if($gen_user){
        return response()->json(3);+6
      }

      if($this->auth->attempt($request->only('username','password'))){

        $gen_user = GenUser::join('gen_people','gen_users.gen_person_id','=','gen_people.id')
                            ->where('gen_users.id',\Auth::user()->id)
                            ->select(['gen_people.first_name','gen_people.middle_name','gen_people.last_name','gen_people.first_name','gen_users.id','gen_users.username','gen_users.confirmed'])
                            ->first();
   // dd($gen_user);
        $gen_user->name = $gen_user->first_name." ".$gen_user->middle_name." ".$gen_user->last_name;

        if($gen_user->confirmed == 1){
          return response()->json($gen_user);
        }elseif($gen_user->confirmed == 2){
          return response()->json(2);
        }else{
          return response()->json(3);
        }

      }else{
        return response()->json(false);
      }
    }

Может ли кто-нибудь мне помочь ... заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

Когда вы используете ключевое слово this, вы имеете в виду именно текущий класс.Но в вашем контроллере нет никакого метода или свойства auth.

Создайте аутентификацию (или если вы используете passport это делается автоматически) и мигрировать. После этого вы можете использовать

Auth :: try (['username' => request ('username'), 'password' => request ('password')])

0 голосов
/ 11 февраля 2020

Вы можете попытаться изменить свой код следующим образом

use auth;

public function login(Request $request)
{
  ...
}

или , вы можете использовать

$this->auth 
...