gpt4 book ai didi

arrays - CakePHP 中的冗余 ModelName 查找结果

转载 作者:行者123 更新时间:2023-12-04 01:40:07 26 4
gpt4 key购买 nike

我试图在 CakePHP 中的 find 方法返回的结果数组中去除多余的模型名称。现在,如果我要执行类似 $results = $this->Model->find('all') 的操作,我将不得不通过 $results[Model][fieldName] 而不是 $results 访问结果字段[字段名称]。

我知道在数组中包含模型名称有好处,但我正在尝试构建一个 api,所以我需要对数组进行 json 编码。包含模型名称后,我得到了一些可怕的东西:

[{"Model":{"field":"blah","field":"blah"}},{"Model":{"field":"blah","field":"blah"}}]

我想要更优雅的东西,比如:
[{"field":"blah","field":"blah"},{"field":"blah","field":"blah"}]

有任何想法吗?

最佳答案

在您的 Controller 中,不是序列化查找的结果,而是序列化更深的级别。

假设 CakePHP 2:

$things = $this->Thing->find('all');
$things = Set::extract('/Thing/.', $things);

现在您的结果应该没有 JSON 中的额外级别。

另一种冗长的方法是 for loop结果:
foreach ($things as $k => &$v) {
$v = $v['Thing']
}

之后,您的 $things 将删除额外级别的 key 。

关于arrays - CakePHP 中的冗余 ModelName 查找结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com