2012-09-17 2 views
3

Мне любопытно, возможно ли это.Сохранение двух моделей с внешним ключом

В основном у меня есть две родственные модели. Мне интересно, можно ли сохранить обе модели в качестве транзакции, автоматически заполняя внешний ключ второй модели новым идентификатором вставки первого.

Я знаю, что это можно сделать, сохранив модели отдельно, но мой вопрос заключается в том, можно ли это сделать как одно сохранение.

Спасибо!

ответ

2

Я закончил тем, что использовал после/перед сохранением и изменением данных. Я передал идентификатор, используя реестр.


Мое решение

//after first model save 
public function _afterSave(){ 
    Mage::unregister('id'); 
    Mage::register('id', $this->getData('id')); 
} 

//before second model save 
public function _beforeSave(){ 
    if (Mage::registry('id') && !$this->getData('id')) { 
     $this->setData('id', Mage::registry('id')); 
    } 
} 
+0

Вы можете разместить код? Это будет полезно, я пытаюсь сделать то же самое – Yaroslav

Смежные вопросы