Обновление отношения cakephp habtm вместо сохранения - PullRequest
0 голосов
/ 15 февраля 2012

Здравствуйте, моя проблема в том, что я пытаюсь сохранить новое отношение между магазином и способом оплаты. Это отношение habtm ... магазин и оплата уже существует.Я хочу объявить больше способов оплаты.Но всегда, когда я сохраняю, старая схема оплаты в таблице shop_payment только обновляется, а не вторая сохраняется ... Я читаю много, я устанавливаю уникальное значение false, но это ничего не меняет.Кто-нибудь получил идею?

Модель

class Payment extends AppModel {
    var $hasAndBelongsToMany = array(
        'Mainshop'=>array('className'=>'Mainshop', 'unique'=>'false')
    );     
}

Просмотр

echo $this->Form->create('Mainshop');
echo $this->Form->input('name',array('default'=>$mainshop['Mainshop']['name']));

echo $this->Form->input('Payment.id', array(
'type' => 'select', 

'options' => array($payments),

    ));

 echo $this->Form->input('id', array('type'=>'hidden','value'=>$mainshop['Mainshop']            ['id'])); 
echo $this->Form->end('Edit Shop');?>

Контроллер

if (!empty($this->data)){

    $this->Mainshop->save($this->data);
    $this->redirect(array('action' => 'edit',$this->data['Mainshop']['id']));
}

1 Ответ

1 голос
/ 16 февраля 2012

Моя рекомендация определяет отношения со всеми полями в модели:

       var $hasAndBelongsToMany = array(
            'Mainshop'=>array(
               'className'=>'Mainshop', 
               'unique'=>'false',
               'joinTable' => 'shop_payments',
               'foreignKey' => 'payments_id',
               'associationForeignKey' => 'shop_id'
               )
        );

В контроллере добавить create ():

if (!empty($this->data)){
    $this->Mainshop->create();
    $this->Mainshop->save($this->data);
    $this->redirect(array('action' => 'edit',$this->data['Mainshop']['id']));
}
...