This commit is contained in:
Edward Yang 2022-07-14 14:19:56 +08:00
parent b55b2ecfa5
commit 3905a7fcfc
2 changed files with 45 additions and 3 deletions

View File

@ -23,13 +23,18 @@ class DesignController extends Controller
/**
* @param Request $request
* @return array
* @throws \Throwable
*/
public function update(Request $request): array
{
$fields = [
'design_setting' => $request->getContent()
$data = [
'type' => 'system',
'space' => 'base',
'name' => 'design_setting',
'value' => $request->getContent(),
'json' => 1
];
SettingRepo::update('system', 'base', $fields);
SettingRepo::createOrUpdate($data);
return json_success("保存成功");
}

View File

@ -95,4 +95,41 @@ class SettingRepo
}
Setting::query()->insert($rows);
}
/**
* 创建或更新单条记录
*
* @param $data
* @throws \Throwable
*/
public static function createOrUpdate($data)
{
$type = $data['type'] ?? '';
$space = $data['space'] ?? '';
$name = $data['name'] ?? '';
$value = (string)$data['value'] ?? '';
$json = (bool)$data['json'] ?? '';
$setting = Setting::query()
->where('type', $type)
->where('space', $space)
->where('name', $name)
->first();
$settingData = [
'type' => $type,
'space' => $space,
'name' => $name,
'value' => $value,
'json' => $json,
];
if (empty($setting)) {
$setting = new Setting($settingData);
$setting->saveOrFail();
} else {
$setting->update($settingData);
}
}
}