我设置了一个用户/组系统,允许用户发送加入组的请求。如何加载相关模型并在CakePHP中保存相关数据?
我似乎无法加载关联的模型并添加一行。真的很难抵制只使用$ this-> query()并使用它的冲动......但我试图学习Cake的约定,并以正确的方式做事。
在我的组模型处理组功能的加入请求:
$this->loadModel('GroupRequest');
$this->data = array('GroupRequest' =>
array('user_id' => $uid, 'group_id' => $gid));
if($this->GroupRequest->save($this->data)){ echo 'save success'; }
else { echo 'save fail'; }
下面是当我运行此我得到的错误:
Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'loadModel' at line 1 [CORE/cake/libs/model/datasources/dbo_source.php, line 684] Query: loadModel
Notice (8): Undefined property: Group::$GroupRequest [APP/models/group.php, line 124] Fatal error: Call to a member function save() on a non-object in /home/wxworksmat/sspot3/app/models/group.php on line 124
我也使用App ::进口尝试:
App::import('Model','GroupRequest');
我没有以这种方式导入模型的任何SQL错误,但它仍然不起作用。我上保存(以下错误)或创建()调用:
Fatal error: Call to a member function save() on a non-object in /home/wxworksmat/sspot3/app/models/group.php on line 124
您可以发布您的“Group”和“GroupRequest”模型定义吗? – Farray
我同意Farray的暗示 - 有关模型设置的一些问题必须是错误的。 – Dave
Dave和Farray你们都100%正确,请参阅下面提供的答案。 $ hasMany ='GroupRequest'是我所需要的。 – DirtyBirdNJ