使用CakePHP,我需要检索基本的记录列表。没有连接或特殊的CakePHP结果格式化,只是以下数据格式的基本记录数组:
[
{first_name: 'Matthew', last_name: 'Stafford', gender: 'male'},
{first_name: 'Jason', last_name: 'Hanson', gender: 'male'}
]
使用Cake Models执行此操作的最简单方法是什么?
答案 0 :(得分:1)
通过适当的MVC分离,输出 JSON格式化结果就像这样:
控制器:
$people = $this->Person->find('all', array('conditions' => ...));
$this->set(compact('people'));
查看:
echo json_encode(array_map(function ($p) { return $p['Person']; }, $people));
答案 1 :(得分:0)
我目前的解决方案是将以下方法添加到AppModel:
function selectAll($options = array()) {
$this->recursive = 0;
$result = $this->find('all', $options);
return Set::combine($result, "{n}.{$this->name}.{$this->primaryKey}", "{n}.{$this->name}");
}