如何创建连接表记录

时间:2015-06-02 22:00:42

标签: php cakephp cakephp-3.0

所以我正在尝试将记录添加到我的连接表中,但它似乎不起作用,也没有给出错误。

所以这是我的数据数组(正确保存没有问题)

array(3) {
    ["id"]=>
    string(2) "32"
    ["title"]=>
    string(5) "Hello"
    ["participant"]=>
    array(1) {
    [0]=>
        array(1) {
          ["id"]=>
          int(1)
        }
      }
}

我属于很多人:

$this->belongsToMany('Participants', [
        'foreignKey' => 'item_id',
        'targetForeignKey' => 'participant_id',
        'className' => 'Users',
        'joinTable' => 'participants_items'
    ]);

属于我的用户中的许多人:

$this->belongsToMany('myItems', [
        'foreignKey' => 'participant_id',
        'targetForeignKey' => 'item_id',
        'className' => 'Items',
        'joinTable' => 'participants_items'
    ]);

以下方法我尝试应用连接表记录:

$data['Participants'] = [ //Also tried Participant, participants, participant
    ['id' => 1]
];

还有:

$data['Participants'] = [
    '_ids' => [1, 2]
];

我做错了什么?我没有错误&没有条目

1 个答案:

答案 0 :(得分:0)

我发现我的错误实际上是在newEntity()部分!

之前(破碎):$newEntity = $this->newEntity($inputData]);

之后(固定):$newEntity = $this->newEntity($inputData, ['associated' => ['Participants']])

在执行newEntity之前,我将id添加到数据列表中,如下所示:

$inputData['participants'] = [
    '_ids' => [10, 12]
];