Laravel форма обновления - PullRequest
       52

Laravel форма обновления

0 голосов
/ 28 марта 2020

Здравствуйте, я использую laravel, и я использую конкретный c метод для пользователей, продавца и другого типа пользователей.

Так что, если я обновляю форму пользователей (их содержать: псевдо, пароль, если продавец заплатил за другое поле) пароль был обновлен, если поле пустое, и я не хочу этого, и я не могу показать пароль, потому что laravel используйте bcrypt для ха sh пароль, и мы можем только убедиться, что ha sh совпадает с паролем, введенным в виде простого текста.

Моя проблема действительно указана c, у меня есть решение serch, но нет на том же проблема. Любое решение?

 public function update(Request $request,$id)
{
    $inputs = $request->all();
    dd($inputs);
    $seller = Seller::find($id);
    $seller->pseudo = $inputs['pseudo'];
    $seller->password = Hash::make($inputs['password']);
    $seller->token_related_product = $inputs['token_related_product'];
    $seller->save();
    return view('backend.home');
}

1 Ответ

1 голос
/ 28 марта 2020

Если вы хотите установить новый пароль, только если поле password заполнено, просто сравните значение поля с пустой строкой. Если он не пустой, введите sh пароль и сохраните его в базе данных, в противном случае пропустите этот шаг.

public function update(Request $request,$id)
{
    $inputs = $request->all();

    $seller = Seller::find($id);
    $seller->pseudo = $inputs['pseudo'];

    if ($request->filled('password')) {
        $seller->password = Hash::make($inputs['password']);
    }

    $seller->token_related_product = $inputs['token_related_product'];
    $seller->save();

    return view('backend.home');
}
...