HABTM将几个玩家添加到团队中仅插入第一个并更新该条目

时间:2015-05-22 09:03:31

标签: cakephp cakephp-2.0 has-and-belongs-to-many

我在向团队添加多个玩家时遇到问题。当我尝试插入多个玩家时,它只会更新属于团队的第一个插入条目。

但是我们从一开始就开始: 当我在一个有几个玩家的团队中调用find时(直接在数据库中添加),我得到以下内容:

Array
(
    [Team] => Array
        (
            [id] => 3
            ...
        )

    [Player] => Array
      (
        [0] => Array
           (
              [id] => 15
              ....
           )
        [0] => Array
          (
              [id] => 21
              ....
          )
        [0] => Array
          (
            [id] => 23
            ....
          )
          ....
    )
)

所以我认为我可以将它以那种格式保存到数据库中。但就像我在插入第一个条目之前说的那样,然后用其他id更新,我不明白为什么。难道你不能像往常那样保存相同的数据结构,就像你离开了发现一样吗?

以下是团队模型中的HABTM关系:

public $hasAndBelongsToMany = array(
    'EmployeesSecondary' => array(
        'className' => 'Player',
        'joinTable' => 'employees_teams',
        'foreign_key' => 'team_id',
        'associationForeignKey' => 'bv',
        'unique' => 'keepExisting' 
    ) 
);

我已经尝试过使用saveAll()(仅在saveAll-call上),改变了独特的行为。我甚至将一些测试数据插入habtm-table并尝试将我从find('all')中获得的内容直接保存回数据库,但它只在插入第一个条目后更新每个条目。

任何想法都会受到赞赏。

0 个答案:

没有答案