2016-03-05 94 views
0

我是這個框架的新手,也是英文的(haha)。cakephp 3 belongstomany help請登錄

但這裏是我的問題: 我做了一些代碼使用belongsto的蛋糕。我想我做的都對。但是當我點擊提交時,他只註冊表的信息而不做關聯。

我的表:

Planos 
Servidores 
Servidores_Planos 

我的代碼:

表/ PlanosTable.php

$this->belongsToMany('Servidores', [ 
    'class' => 'servidores', 
    'joinTable' => 'servidores_planos', 
    'foreignKey' => 'planos_id', 
    'targetForeignKey' => 'servidores_id' 
]); 

表/ ServidoresTable.php

$this->belongsToMany('Planos', [ 
    'joinTable' => 'servidores_planos', 
    'foreignKey' => 'servidores_id', 
    'targetForeignKey' => 'planos_id' 
]); 

我不認爲有必要顯示控制器代碼,因爲從planos的添加頁面收到servidores

這是我在添加頁面中的輸入。

<?php echo $this->Form->input('servidores.id',array('type'=>'select','multiple','label'=>false,'id'=>'selectServidor', 'class'=>'form-group', 'name' => 'servidores[]', 'options'=> $servidores,'style' => 'width:430px;height:180px;')); ?> 

回答

0

您只需要稍微修改您的視圖。試試這個:

echo $this->Form->input('servidores._ids', [ 
     'type'  => 'select', 
     'multiple' => true, 
     'label' => false, 
     'id'  => 'selectServidor', 
     'class' => 'form-group', 
     //'name' => 'servidores[]', /* This name field is generated automatically */ 
     'options' => $servidores, 
     'style' => 'width:430px;height:180px;' 
    ]); 

這應該可以解決你的問題。在您的控制器中,確保遵循約定並傳遞適當的參數以保存相關數據。

希望這會有所幫助。

和平! xD

+0

它的工作原理!非常感謝你^^。 –