2012-05-16 24 views
-1

我有3個模型(我正在使用zend 1.11,mysql),分別包含產品翻譯標籤的3個表「category」,「product」和「product_translate」在某種語言中,現在產品和類別之間存在一對多的關係(一個產品只能在一個類別中),另一個是產品和product_translate之間的關係。我需要的是插入一個新的類別,然後將這個類別的最後一個插入的id分配到產品表中,同樣的事情與「product_translate」相同,我發現這樣做的最好方式是使用事務,但我遇到了麻煩: 1 /在哪裏應該把這個trnasaction一次插入所有模型? 「產品」,「類別」還是「product_translate」? 2 /我如何處理最後插入的ID,因爲我需要這幾次,尤其是與翻譯表(因爲我goint插入使用產品的最後插入的ID至少2個新行)。 我希望我做我自己清楚,任何幫助或建議是多appreciaited我應該使用zend的交易模式

三江源

+0

段落,段落,請! – vascowhite

回答

0

我建議這樣

在你的控制器/動作

$category = new Category_model(); 
$lastinsertid = $category->categoryInsertFunction(); 

你可以得到最後的通過在您想要的模型中調用此插入ID

$this->getDefaultAdapter()->lastInsertId(); 

從categoryInsertFunction返回此值

並將最後一個插入ID用於其他功能。

+0

謝謝你的回答,所以你建議在類別模型中使用我的事務插入到3個表中,我只有一個問題,這樣做不會影響product_translate模型,因爲它與類別模型無關? thnks – jareda

相關問題