Попытка получить свойство необъекта при попытке сброса пароля в laravel - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь сбросить свой пароль, но я не могу решить свою проблему, и я застрял в этой проблеме, и часы прошли, но я не могу понять, где проблема:

Мой контроллер:

  class ResetPasswordController extends Controller
   {
protected $user;



public function __construct(User $user)
{
    // set the model
    $this->user = $user;

}
public function showResetForm(Request $request, $token = null)
{
    return view('auth.passwords.reset')->with(
        ['token' => $token, 'email' => $request->email]
    );
}

public function reset(Request $request)
{
    $validator = UserValidations::changePassword($request->all());

    if($validator->fails()) {
        return response(['status' => false,'message' => __('messages.validation_errors'), 'errors' => $validator->errors()->all()], 200);
    }

    try {
        $password = $this->user->where('id', Auth::user()->id)->value('password');

        if(Hash::check($request->input('current_password'),$password)) {

            $this->user->where('id', Auth::user()->id)->update(['password' => bcrypt($request->input('new_password'))]);

            $token = $request->header('Authorization');

            JWT::invalidate($token);

            Auth::logout();

            return response(['status' => true, 'message' => 'Password changed successfully'], 200);

        } else {
            return response(['status' => false, 'message' => 'The Current Password is invalid.'], 200);
        }
    } catch (\Exception $ex) {
        return response(['status' => false, 'message' => $ex->getMessage()], 500);
    }
}

}

мой взгляд:

                    <form class="form-horizontal" method="POST" action="{{ route('password.request') }}">
                    {{ csrf_field() }}

                    <input type="hidden" name="token" value="{{ $token }}">

                    <div class="form-group{{ $errors->has('current_password') ? ' has-error' : '' }}">
                        <label for="password" class="col-md-4 control-label">Current Password</label>

                        <div class="col-md-6">
                            <input id="password" type="password" class="form-control" name="current_password" required>

                            @if ($errors->has('current_password'))
                                <span class="help-block">
                                    <strong>{{ $errors->first('current_password') }}</strong>
                                </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group{{ $errors->has('new_password') ? ' has-error' : '' }}">
                        <label for="password" class="col-md-4 control-label">Password</label>

                        <div class="col-md-6">
                            <input id="password" type="password" class="form-control" name="new_password" required>

                            @if ($errors->has('new_password'))
                                <span class="help-block">
                                    <strong>{{ $errors->first('new_password') }}</strong>
                                </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group{{ $errors->has('new_password_confirmation') ? ' has-error' : '' }}">
                        <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label>
                        <div class="col-md-6">
                            <input id="password-confirm" type="password" class="form-control" name="new_password_confirmation" required>

                            @if ($errors->has('new_password_confirmation'))
                                <span class="help-block">
                                    <strong>{{ $errors->first('new_password_confirmation') }}</strong>
                                </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-md-6 col-md-offset-4">
                            <button type="submit" class="btn btn-primary">
                                Reset Password
                            </button>
                        </div>
                    </div>
                </form>

Но если вы говорите, что пытаетесь получить собственность на не объект, пожалуйста, помогите мне, ваша помощь будет высоко оценена я также приложил снимок экрана моего первого экрана, где есть 3 поля ввода и второй снимок экрана ошибки Ваша помощь нужна, пожалуйста

enter image description here

1 Ответ

0 голосов
/ 23 апреля 2019

Связали ли вы пользовательский параметр в вашем Route Facade / ServiceProvider?

Если вы этого не сделаете, просто добавьте куда-нибудь в свой маршрут user.request идентификатор пользователя для неявного связывания модели.Скорее всего, ваша ошибка из-за того, что у вас есть пустой вывод объекта пользователя __construct().

...