CakePHP - Использование Model :: read () на модели без таблицы - PullRequest
0 голосов
/ 22 июля 2011

У меня есть модель с $useTable = false и определенным пользовательским $schema.

Я пытаюсь сохранить все как можно более интегрированным в структуру, используя стандартные методы модели, даже если нетТаблица.Так, например, я использую Model::save() для обновления массива $data модели.

Однако из контроллера я пытаюсь использовать Model::read(), но он терпит неудачу, я думаю, потому что read() не имеет идентификатора в модели.Есть ли способ имитировать идентификаторы в модели без таблицы?Я знаю, что могу получить доступ к нужным данным через $this->Model->data['Model']['field'], но чувствую, что это не очень хорошая практика.

1 Ответ

0 голосов
/ 25 июля 2011

read () - для тех случаев, когда вы извлекаете данные на основе первичного ключа или идентификатора.

Если вы пытаетесь прочитать данные из базового источника данных (что бы это ни было), но нетПервичный ключ, тогда, возможно, find ('first', ...) - это то, что вам может понадобиться.

Если у вас есть первичный ключ, но он не называется 'id' (возможно, 'field'), тогданазначьте var $primaryKey = 'field'; в модели, и вам будет хорошо использовать read, основываясь на данных этого поля.

Кстати, что является основным источником данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...