如何在HABTM-CakePHP关系场景中以编程方式添加多个相关记录?

如何在HABTM-CakePHP关系场景中以编程方式添加多个相关记录?,cakephp,cakephp-2.0,cakephp-model,Cakephp,Cakephp 2.0,Cakephp Model,我已经设置了模型,以便用户属于组。这两者之间存在着一种工作关系 下面的代码用于用一些演示数据填充数据库。在下面的代码片段之前,Groups表中已经填充了一些示例组数据 下面的代码片段可以工作。它将记录添加到用户表中,联接表(groups\u Users)也会获得正确的条目。因此,基本上,HABTM关系运作良好 我的问题是:如何添加与多个组的关联,而不仅仅是单个关系?按如下所述,使用“组”=>array($group1,$group2)而不是“组”=>$group1”不起作用。当我使用数组时,不会

我已经设置了模型,以便用户属于组。这两者之间存在着一种工作关系

下面的代码用于用一些演示数据填充数据库。在下面的代码片段之前,Groups表中已经填充了一些示例组数据

下面的代码片段可以工作。它将记录添加到用户表中,联接表(groups\u Users)也会获得正确的条目。因此,基本上,HABTM关系运作良好

我的问题是:如何添加与多个组的关联,而不仅仅是单个关系?按如下所述,使用“组”=>array($group1,$group2)而不是“组”=>$group1”不起作用。当我使用数组时,不会向联接表中添加任何内容

'Group'=>array($group1, $group2) 'Group'=>$group1' 非常感谢你的帮助

$groups = $this->Group->find('all');
  for ($i=0; $i<=200; $i++) {                   
$groupIndex1 = rand(0, count($groups)-1);
$groupIndex2 = rand(0, count($groups)-1);

$this->User->set(
  array(
    'id'=>null,
    'name'=>'Dummy User '.$i0,
    'Group'=>$groups[$groupIndex1]
  )
);
$this->User->save();
$groups=$this->Group->find('all');
对于($i=0;$iUser->set(
排列(
'id'=>null,
“名称”=>“虚拟用户”。$i0,
“组”=>$groups[$groupIndex1]
)
);
$this->User->save();

要为单个用户保存多个组,您必须在您的用户模型中定义
hasmall
关系。在您的保存代码中,它如下所示:

$groups = $this->Group->find('all');
for ($i=0; $i<=200; $i++) {                   
$groupIndex1 = rand(0, count($groups)-1);
$groupIndex2 = rand(0, count($groups)-1);
$data  = 
  array('User' => array(
                        'id'=>null, 
                        'name'=>'Dummy User '.$i0,
                       ),
        'Group'=> array($groups[$groupIndex1], $groups[$groupIndex2])
  )
);
$this->User->saveAssociated($data, array('deep' => true);
$groups=$this->Group->find('all');
对于($i=0;$i数组)(
'id'=>null,
“名称”=>“虚拟用户”。$i0,
),
'Group'=>数组($groups[$groupIndex1],$groups[$groupIndex2])
)
);
$this->User->saveAssociated($data,array('deep'=>true);

可能有助于您理解
'deep'=>true
选项。

请提供两种型号中指定的关系代码。