如何为单个模型保存多个单独的记录
Posted
技术标签:
【中文标题】如何为单个模型保存多个单独的记录【英文标题】:How to save multiple individual records for a single model 【发布时间】:2010-07-23 15:19:01 【问题描述】:我有一个模型(朋友),用户可以在其中从 facebook 导出他朋友的信息。我想将朋友信息(id 和名称)保存到 mysql 数据库中。
我无法使用表单助手为相同的表单创建表单,因为我不知道每个用户的确切好友数量。
有没有更简单的方法将用户的朋友保存到数据库中? (为同一模型保存多条记录)
【问题讨论】:
【参考方案1】:基本上你应该知道当前用户的好友数量是多少,对吧?
如果是这样,请在您的视图中执行以下循环:
echo $this->Form->create('User');
for($i=0;$i<$number_of_current_user_friends;$i++)
echo $this->Form->input('Friend.'.$i.'user_id', array('value'=>$current_user_id));
echo $this->Form->input('Friend.'.$i.'friend_name', array('value'=>$friends[$i]['name']));
echo $this->Form->input('Friend.'.$i.'fb_id', array('value'=>$friends[$i]['fb_id']));
echo $this->Form->end('Submit');
然后在控制器中保存:
$this->Friend->saveAll($this->data);
【讨论】:
应该是 echo $this->Form->input('Friend.'.$i.'.user_id',array('value'=>$current_user_id));以上是关于如何为单个模型保存多个单独的记录的主要内容,如果未能解决你的问题,请参考以下文章
CakePHP 如何为用户-地图-属性一次在链接表中保存多条记录?