如何更新数据库中的 json 字段 laravel?
how to update a json field laravel in the database?
我正在创建带有上传文件的项目 CRUD,使用 json_encode 在数据库中上传文件。我想问一下如何 edit/update json 数据库中的字段 laravel ?
我尝试使用 isset($data)? json_encode($data): $sid->file_uploads in public function update() 但我更新时的代码可以替换以前的文件。
$sid = Sid::find($id);
if($request->file('file_uploads'))
{
foreach($request->file('file_uploads') as $file)
{
$name = $file->getClientOriginalName();
$path = 'public/file/'.$sid->employee_name;
$file->move($path, $name);
$data[] = $name;
}
}
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = isset($data)? json_encode($data): $sid->file_uploads;
$sid->save();
我希望结果是文件,当我上传时会在数据库中添加文件。例如,我上传了 5 个文件,但是当我创建时,我只上传了 2 个文件,当我想编辑时,我添加了 3 个文件,数据库中的总计文件为 5。
这可以解决,php新版本不支持在运行时创建var,或者它检查是否有文件导致false。
$sid = Sid::find($id);
$data = [];
if($request->file('file_uploads'))
{
foreach($request->file('file_uploads') as $file)
{
$name = $file->getClientOriginalName();
$path = 'public/file/'.$sid->employee_name;
$file->move($path, $name);
$data[] = $name;
}
}
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = count($data)? json_encode(array_merge(json_decode($sid->file_uploads, true),$data)): $sid->file_uploads;
$sid->save();
我正在创建带有上传文件的项目 CRUD,使用 json_encode 在数据库中上传文件。我想问一下如何 edit/update json 数据库中的字段 laravel ?
我尝试使用 isset($data)? json_encode($data): $sid->file_uploads in public function update() 但我更新时的代码可以替换以前的文件。
$sid = Sid::find($id);
if($request->file('file_uploads'))
{
foreach($request->file('file_uploads') as $file)
{
$name = $file->getClientOriginalName();
$path = 'public/file/'.$sid->employee_name;
$file->move($path, $name);
$data[] = $name;
}
}
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = isset($data)? json_encode($data): $sid->file_uploads;
$sid->save();
我希望结果是文件,当我上传时会在数据库中添加文件。例如,我上传了 5 个文件,但是当我创建时,我只上传了 2 个文件,当我想编辑时,我添加了 3 个文件,数据库中的总计文件为 5。
这可以解决,php新版本不支持在运行时创建var,或者它检查是否有文件导致false。
$sid = Sid::find($id);
$data = [];
if($request->file('file_uploads'))
{
foreach($request->file('file_uploads') as $file)
{
$name = $file->getClientOriginalName();
$path = 'public/file/'.$sid->employee_name;
$file->move($path, $name);
$data[] = $name;
}
}
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = count($data)? json_encode(array_merge(json_decode($sid->file_uploads, true),$data)): $sid->file_uploads;
$sid->save();