在CakePHP中保存一个模型的多个记录
发布时间:2020-12-13 16:01:34 所属栏目:PHP教程 来源:网络整理
导读:我想为一个模型保存几条记录.如果没有出现问题,可以使用saveAll()轻松完成此操作: 我有一个通知表单,我从 select中选择多个用户和两个领域,分别为主题和内容.现在,当我输出$this-数据包含的内容时,我有: Array([Notification] = Array ( [user_id] = Array
我想为一个模型保存几条记录.如果没有出现问题,可以使用saveAll()轻松完成此操作:
我有一个通知表单,我从< select>中选择多个用户和两个领域,分别为主题和内容.现在,当我输出$this->数据包含的内容时,我有: Array([Notification] => Array ( [user_id] => Array ( [0] => 4 [1] => 6 ) [subject] => subject [content] => the-content-here ) ) 我读过Cake 1.3的书,为了保存模型的多个记录,你必须得到$this->数据: Array([Article] => Array( [0] => Array ( [title] => title 1 ) [1] => Array ( [title] => title 2 ) ) ) 那么,我如何“分享”所有选定用户的主题和内容?
首先,这个数据库设计需要规范化.
在我看来,像Notification可以有很多与之相关的用户.同时,用户可以拥有许多通知.因此, >引入名为users_notifications的连接表. 在视图中,您只需使用以下代码自动调出多选表单以获取用户ID: echo $this->Form->input('User'); 发送到控制器的数据将采用以下形式: Array( [Notification] => Array ( [subject] => subject [content] => contentcontentcontentcontentcontentcontent ),[User] => Array ( [User] => Array ( [0] => 4 [1] => 6 ) ) ) 现在,您所要做的就是调用saveAll()函数而不是save(). $this->Notification->saveAll($this->data); 这就是Cake的做法! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |