如何为单个模型保存多个单独的记录

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 如何为用户-地图-属性一次在链接表中保存多条记录?

CakePHP - 如何一次通过记录保存单个 hasMany,每个 hasMany 有多个 belongsTo 记录?

如何为单个项目中运行的每个批次创建单独的日志文件?

如何为多个选项卡/窗口运行工具栏的单个实例

如何为以下python代码制作单独的kivy文件

Django如何为多个表单创建一个帖子请求。