我正在使用CakePHP和jqGrid,但是我有一段困难的时间让他们说得很好。我可以经历构建JSON响应的麻烦(我知道,“这并不困难”)),但我宁愿简单地从find(“all”...)返回一个扁平版本的结果。CakePHP和jqGrid
这里是我当前的代码(仅选择的领域我想)。有没有一种快速简便的方式来格式化jqGrid的这个很好?
$result = $this->Contact->find('all', array(
'fields' => array('first_name', 'last_name', 'company', 'title'),
'conditions' => array('OR' => $filters),
'offset' => $skip,
'limit' => $rows
));
在此先感谢!
编辑
我能够把这个结果到一个数组如jQuery想要它,但现在我得到一个空白表(表呈现,但所有单元格为空)。这是我的更新代码,有什么想法?
$result = $this->Contact->find('all', $options);
$data = array();
for ($i = 0; $i < count($result); $i++) {
$data[$i]['id'] = $result[$i]['Contact']['id'];
$data[$i]['cell'] = $result[$i]["Contact"];
}
$result = array(
'rows' => $data,
'page' => $page,
'total' => ceil($totalPages/$rows),
'records' => $totalPages
);
这里是JSON的剪断:
{
"rows":[
{
"id":"2160",
"cell":{
"first_name":"Rory",
"last_name":"Johnson",
"company":"somewhere",
"title":"Director of Engineering",
"id":"2160"
}
},
{
"id":"2297",
"cell":{
"first_name":"Steven",
"last_name":"Johnson",
"company":"Another place",
"title":"Dir Busn Proc Desgn",
"id":"2297"
}
}
],
"page":"1",
"total":"75",
"records":"748"
}
唯一的问题是新的API返回jqGrid无法识别的多维数组。 – Benny 2010-12-01 15:29:53
@Benny:如果您发布了JSON数据(您可以使用http://www.fiddler2.com/fiddler2/的Fiddler或http://getfirebug.com/的Firebug查看从服务器发送的数据)并发布jqGrid的定义可以帮助你包含读取数据的`jsonReader`。 – Oleg 2010-12-01 19:22:14