使用json编码时,逐字段更新数据(Laravel 5.3)

时间:2017-01-02 06:06:32

标签: php json laravel

我正在使用json编码更新我的数据工作正常我有一个密码字段,我想保持加密形式但我不知道如何按字段保存该数据字段目前我正在更新数据< / p>

$student_data->fill([

            'student_data'  => $data,

            ])->save();

$ data 变量上面包含要保存的所有数据

它以数据库字段中的json_encoded格式保存在 student_data 字段中

student_data 数据库字段

{"name":"test","username":"testuser","password":"testpassword"}

我想使用bcrypt

保存以上密码

我如何能够帮助

2 个答案:

答案 0 :(得分:0)

在相应的型号中,密码设置属性可以像

一样使用
public function setPasswordAttribute($password)
{
    if ($password != null) {
        $this->attributes['password'] = bcrypt($password);
    }
}

它只会使用加密密码插入每条记录。

答案 1 :(得分:0)

你有没有试过这个......

$json = '{"name":"test","username":"testuser","password":"testpassword"}';
$arr = (json_decode($json,true)); //converts json into array
$pass = $arr['password'];
$password = bcrypt($pass);
$arr['password'] = $password;
//print_r($arr);
$data = json_encode($arr);//back to json from array

$student_data->fill([

            'student_data'  => $data,

            ])->save();