Laravel更新表格

问题描述 投票:0回答:1

您好,我使用的是laravel,我使用的是针对用户,卖方和其他类型用户的特定方法。

因此,如果我要更新某种形式的用户(他们包含:伪,密码,如果卖方已经向另一个字段支付了广告),则该字段为null时密码将被更新,而我不希望这样做并且可以。 t显示密码,因为laravel使用bcrypt作为哈希密码,并且我们只能验证哈希是否与以纯文本形式输入的密码相同。

我的问题确实很具体,我有解决方案,但没有一个存在相同的问题。任何解决方案?

 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');
}
php mysql laravel hash bcrypt
1个回答
0
投票

如果仅在password字段被填充时只想设置一个新的密码,只需将该字段的值与一个空字符串进行比较即可。如果不为空,则对密码进行哈希处理并将其保存到数据库,否则请跳过此步骤。

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

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

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

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

    return view('backend.home');
}
© www.soinside.com 2019 - 2024. All rights reserved.