我一直在浏览模型文档,无法找到如何构建模型对于1项....例如,我希望当前用户模型有addOpenId($openIdHash)
,但我该怎么做没有必要将用户ID传递给函数?
我正在寻找类似......
的东西$user = $this->SobForm->get($userId);
$user->addOpenId($openIdHash);
我说,似乎CakePHP是围绕不控制单个元素的模型构建的,因此控制器可能具有“$ user-> getAllUsers()”的功能,而对我来说,这不是模特,是经理或帮助者。如何在CakePHP中使用奇异的模型,因此它只影响1个项目,或者只包含与单个项目相关的函数,而不是影响所有项目的函数。
是否支持这种功能,还是我必须从头开始构建它?
答案 0 :(得分:0)
SobForm对我来说似乎非常熟悉......我认为你要做的是将$ user的变量视为一个类,而不是。 Model是一个类,控制器也是如此,但是作为数据库查询结果的单个变量不能是类。您可以做的是像$user = $this->OpenIdHelper->add($user,$openIdHash)
那样让它返回添加openId的新数组,然后我假设您将对其进行$this->SobForm->save($user)
? (PS你正在开发Summaries项目吗?)你也可以添加自己的自定义函数来保存或更新模型中的某些数据,或者你可以$this->SobForm->saveField('fieldname','data');
只保存一个数据字段而不是一次你先设置了id。