2012-02-15 5 views
0

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

Модель

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

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

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

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

if (!empty($this->data)){ 
    $this->Mainshop->create(); 
    $this->Mainshop->save($this->data); 
    $this->redirect(array('action' => 'edit',$this->data['Mainshop']['id'])); 
} 
Смежные вопросы