例如,当我使用Model_Trabalhos::query()->related('categoria')时,我会得到一个普通的JSON,如下所示:
{
"id": "1",
"categoria_id": "2",
"empresa": "Veja",
"nome": "Veja",
"thumb_pequena": "jobs/digital/veja/thumb.jpg",
"thumb_grande": "jobs/digital/veja/thumb_grande.jpg",
"destaque": "0",
"categoria": {
"id": "2",
"titulo": "Digital"
},
"imagens": {
"1": {
"id": "1",
"url": "jobs/digital/veja/1.png",
"legenda": "",
"job_id": "1"
},
"2": {
"id": "2",
"url": "jobs/digital/veja/2.png",
"legenda": "",
"job_id": "1"
}
}
}取而代之的是,我想要回这个:
[
{
"id": "3",
"categoria_id": "2",
"empresa": "Valor Econômico",
"nome": "Novo Site",
"thumb_pequena": "jobs/digital/valor-economico/thumb.jpg",
"thumb_grande": "jobs/digital/valor-economico/thumb_grande.jpg",
"destaque": "1",
"categoria": {
"id": "2",
"titulo": "Digital"
},
"imagens": [
{
"id": "3",
"url": "jobs/digital/valor-economico/1.png",
"legenda": "",
"job_id": "3"
}
]
}
]你看?在第二种情况下,它被包装在一个数组中,我想知道FuelPHP原生中是否有一个函数可以包装要排序的内容。
我有麻烦了..。我正在使用FuelPHP + ORM从数据库中获取我所有的记录,并生成一个用于JavaScript和Ajax的JSON,但在Chrome中,JSON不遵循按定义的顺序,有解决此问题的方法吗?
发布于 2013-10-06 10:19:31
如果您希望以某种方式获得信息,那么可以在该查询之后使用foreach循环,该循环将在转换为JSON后将它们添加到数组数组(转换为JSON对象数组)中。
$query = Model_Trabalhos::query()->related('categoria')
$categories = array();
foreach ($query as $category) {
$categories[] = array(
'id' => $category->id,
...
);
}
return $categories;发布于 2015-12-15 02:49:25
这是一个老问题,但我现在也有同样的问题,可以像我在https://stackoverflow.com/a/34242106/5670195上发布的答案一样解决。
如果它是一个转换为简单数组的函数,则返回的对象为ORM关系。
https://stackoverflow.com/questions/16968353
复制相似问题