我有3个模型(我正在使用zend 1.11,mysql),分别有3个表“category”,“product”和“product_translate”,其中包含某种语言的产品的翻译标签,现在有一个 - 产品和类别之间的多对多关系(产品只能在一个类别中),以及产品和产品之间的另一个多对多关系。我需要的是插入一个新的类别,然后将此类别的最后插入ID分配到产品表中,同样的事情与“product_translate”相同,我发现这样做的最好方法是使用交易,但我遇到了麻烦: 1 /我应该把这个trnasaction一次性插入所有模型? “产品”,“类别”或“product_translate”? 2 /我如何处理最后插入的id,因为我将需要这几次,尤其是翻译表(因为我要使用产品的最后一个插入ID来插入至少2个新行)。 我希望我清楚自己,任何帮助或建议都非常值得赞赏
三江源
答案 0 :(得分:0)
我建议这样
在您的控制器/操作
中$category = new Category_model();
$lastinsertid = $category->categoryInsertFunction();
您可以通过在所需模型中调用此内容来获取最后一个插入ID
$this->getDefaultAdapter()->lastInsertId();
从categoryInsertFunction
返回此值并将最后一个插入ID用于其他功能。