CakePHP: не извлекать поле идентификатора в find () - PullRequest
4 голосов
/ 20 января 2011

Я хотел бы получить некоторые столбцы из таблицы, без столбца id, но CakePHP продолжает добавлять его в массив find().Что я должен сделать, чтобы решить эту проблему?

1 Ответ

2 голосов
/ 20 января 2011

Используйте параметры поиска, чтобы установить нужные поля:

$this->find('all', array(
    'conditions' => array(), //array of conditions
    'fields' => array('field1', 'field2') //array of field names
));

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

Как я отмечал в комментариях, при извлечении связанных данных модели торт использует идентификатор для получения связанных данных во внешней таблице. Если вы думаете об этом, как еще CakePHP может это сделать?

Если вы действительно должны удалить столбец id, вы можете сделать это после вызова find:

$data = $this->Model->find('first', array(
    'conditions' => array(), //array of conditions
));
unset($data['Model']['id']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...