我想用多個標記「標記」多個「點」。我成功地標記了我的單點。不幸的是,當我嘗試使用標籤,如另一個點上的'test2'作爲標籤時,如果我將'獨特'設置爲false或'unique'設置爲true,那麼它會給我一個重複的輸入錯誤,它會刪除我的標籤,爲'test2'的所有其他點,並創建一個新的。CakePHP - HABTM - 爲多個點添加多個標記
以下是我對我的帖子的數據:
Array
(
[Tag] => Array
(
[id] => 4b7af6d7-787c-4f10-aa49-2502c0a80001
[name] => Test2
)
[Point] => Array
(
[id] => 4b47c66f-a130-4d12-8ccd-60824051e4b0
)
)
在我的標籤模式,我有這樣的:
public $hasAndBelongsToMany = array(
'Point' => array(
'className' => 'Point',
'joinTable' => 'points_tags',
'foreignKey' => 'tag_id',
'associationForeignKey' => 'point_id',
'unique' => false)
);
我曾試圖與「獨一無二」設置爲真,太。不幸的是,這將刪除連接表('points_tags')中的任何其他'Test2'實例。
我嘗試過使用save()和saveAll()。兩者都給我這個錯誤:
警告(512):SQL錯誤:1062:重複條目'4b7af6d7-787c-4f10-aa49-2502c0a80001-4b47c66f-a130-4d12-8ccd-608''MAN_ADD'[ CORE /餅/庫/模型/數據源/ dbo_source.php,線527] 查詢:INSERT INTO points_tags
(tag_id
,point_id
,id
)VALUES( '4b7af6d7-787c-4F10-aa49-2502c0a80001','4b47c66f-a130-4d12 -8ccd-60824051e4b0' , '4b7b39f3-46f8-4744-ac53-3973c0a80001')
思考????
建議????
您說的id是tag_id或point_id。 tag_id來自標籤,如果它已經存在,並且point_id是我試圖標記的項目的id。 我腦海裏的問題是,如果一個條目已經從另一個項目中出現,那麼points_tags條目就會越過寫入。 例如: 點'有一個標籤 - 測試 如果我也想標記點「B」與標籤「測試」,它會刪除points_tags爲點當前條目「A」與標籤「測試「併爲標記'測試'插入點'b'的條目。因此刪除以前使用'test'進行的關聯。 這是否爲您澄清? – zmonteca 2010-02-17 16:21:38