Выполнение простой операции поиска в CakePHP - PullRequest
0 голосов
/ 06 ноября 2011

Используя CakePHP, мне нужно получить базовый список записей.Никаких объединений или специального форматирования результатов CakePHP, просто базовый массив записей в следующем формате данных:

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

Какой самый простой способ сделать это, используя Cake Models?

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

При правильном разделении MVC вывод результата в формате JSON будет выглядеть примерно так:

Контроллер:

$people = $this->Person->find('all', array('conditions' => ...));
$this->set(compact('people'));

Просмотр:

echo json_encode(array_map(function ($p) { return $p['Person']; }, $people));
0 голосов
/ 07 ноября 2011

Мое текущее решение - добавить следующий метод в 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}");
}
...