Модели CakePHP - почему не для 1 предмета? - PullRequest
0 голосов
/ 19 апреля 2011

Я изучил документацию по модели и не могу выяснить, как построить модели для 1 элемента ... например, я хочу, чтобы текущая пользовательская модель имела addOpenId($openIdHash), но как мне это сделать без необходимость передать идентификатор пользователя в функцию?

Я ищу что-то вроде ...

$user = $this->SobForm->get($userId);
$user->addOpenId($openIdHash);

Я говорю, похоже, что CakePHP построен на моделях, которые не управляют одним элементом, поэтому контроллер может иметь функцию "$ user-> getAllUsers ()", тогда как для меня это не модель, это менеджер или помощник. Как я могу использовать модель в CakePHP, если она единственная, поэтому она влияет только на 1 элемент или содержит только функции, связанные с одним элементом, вместо функций, которые влияют на все элементы.

Есть ли какая-либо поддержка для такого рода функций, или мне нужно построить все это с нуля?

1 Ответ

0 голосов
/ 26 мая 2011

SobForm мне кажется очень знакомым ... Я думаю, что вы пытаетесь обработать переменную $ user как класс, а это не так. Модель является классом, как и контроллер, но отдельная переменная, являющаяся результатом запроса к базе данных, не может быть классом. Что вы можете сделать, это что-то вроде $user = $this->OpenIdHelper->add($user,$openIdHash), и он вернет новый массив с добавленным openId, тогда я предполагаю, что вы будете делать $this->SobForm->save($user) на нем? (PS Вы работаете над проектом «Сводные данные»?) Вы также можете добавить свои собственные пользовательские функции для сохранения или обновления определенных данных в модели, или вы можете сделать $this->SobForm->saveField('fieldname','data');, чтобы просто сохранить одно поле данных вместо всего, если у вас Идентификатор установлен первым.

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