在CakePHP中执行简单的查找操作

时间:2011-11-06 03:18:13

标签: cakephp cakephp-2.0 cakephp-appmodel

使用CakePHP,我需要检索基本的记录列表。没有连接或特殊的CakePHP结果格式化,只是以下数据格式的基本记录数组:

[
    {first_name: 'Matthew', last_name: 'Stafford', gender: 'male'},
    {first_name: 'Jason', last_name: 'Hanson', gender: 'male'}
]

使用Cake Models执行此操作的最简单方法是什么?

2 个答案:

答案 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}");
}