我正在开发自定义数据源以与REST API进行交互。在CakePHP网站上提供的示例中,它们从此结构中的READ操作返回数据:
Array(
'ModelName'=>Array(all the actual data here)
)
代码如下:
return array($model->alias => $results);
是否有任何特定的理由以这种方式返回结果,或者我可以返回:
返回$ results;
我担心的是,如果我不返回CakePHP特定格式,我可能无法使用其他内置功能。我没有看到关于这种结构需求的具体内容。任何见解将不胜感激。
答案 0 :(得分:1)
归结为CakePHP的数据结构指南。 Cake使用模型名称作为数组键并将结果作为值的原因是因为当在同一查询中返回多个表时,它使得它非常容易读取 - 毕竟,Cake模型是关系数据库映射,并且构建为是联想的。
您如何使用Cake的数据结果取决于您。是的,有时候模型名称前缀会让我烦恼而且我觉得它没用,但大多数情况下,它可以帮助您在一个查询中区分多个关联的表格结果。
如果你不认为自己需要这个并且不介意打破Cake的数据结构惯例,那么脱离它并没有错 - 但是如果我是你,我将创建你的API接口,使其完全符合其内置数据源返回的结构(主要是出于当前和未来的兼容性原因)。
有关创建REST API数据源的更多信息是here in the manual。