我有這些表:任何優雅的解決方案如何使插入多對多的表?
- 標籤 - 包含標籤名稱和ID(TAG_ID,標籤)
- TagReview - 鏈接標籤和評論(REVIEW_ID,TAG_ID)
- 回顧與表 - 持有評論。 (Review_ID,content,...)
當我在添加或編輯評論時做了插入操作。 在我的變量表類從擴展的Zend_Db_Table ... 插入工作了一些案件,但然後用SQL錯誤失敗「SQLSTATE [23000]:完整性約束衝突:1452」
public function insertTags($reviewId, $tagList) {
$reviewTag = new Application_Model_DbTable_ReviewTag;
$tags = explode(self::SEPERATE, $tagList);
foreach ($tags as $tag) {
$tag = trim($tag);
$tagRow = $this->fetchRow(array('tag = ?' => $tag));
if ($tagRow == null) {
$tagId = $this->insert(array(
'tag' => trim($tag)
));
$reviewTag->insert(array(
'Tag_ID' => $tagId,
'Review_ID' => $reviewId,
));
}
}
}
Ddi你得到違規插入標籤或reviewTag? – prodigitalson
插入到reviewTag表 –