我的mysql数据库表类型是:COMPACT 我现在想查询这里面的数据,以数组形式返回 比如
title=>"百度",
title1=>"百度2"
要将查询结果以键值对数组的形式返回,可以将查询结果转换为数组,并将其整理为你想要的格式。下面是修改后的 details
方法实现:
public function details(Request $request)
{
try {
$model = new ConfigModel();
// 获取所有设置
$list = $model->select(['setting', 'value']);
// 转换为键值对数组
$result = [];
foreach ($list as $item) {
$result[$item['setting']] = $item['value'];
}
return show($result); // 返回键值对数组
} catch (\Exception $e) {
return show(null, 201, $e->getMessage());
}
}
解释修改部分
$model->select(['setting', 'value'])
: 选择setting
和value
字段,获取所有配置。- 循环处理: 将查询结果遍历并构建
$result
数组,其中使用$item['setting']
作为键,$item['value']
作为值。 - 返回结果: 使用
show($result)
返回以键值对形式展示的数据。
这样,你调用 details
方法时会得到类似于以下形式的 JSON 响应:
{
"title": "百度",
"title1": "百度2",
...
}