我正在嘗試使用具有特定標記或標記的帖子使用分頁(例如,如果用戶選擇了兩個標記,則會返回包含任一標記的帖子)。HABTM Find with CakePHP 2.0
我有我的帖子表中定義的關係
public $hasAndBelongsToMany = array('Tags' => array(
'className' => 'Tags',
'joinTable' => 'posts_tags',
'foreignKey' => 'post_id',
'associationForeignKey' => 'tag_id',
'unique' => 'keepExisting'));
如何使用搜索來檢索與給定的標籤行(名稱或ID,將被罰款)
嘗試:
// other pagination settings goes here
$this->paginate['conditions']['Tags.id'] = 13;
給我一個關係不存在的錯誤。
看着調試信息,看起來表格沒有加入Posts_Tags和Tags表格,但是當我調試數據到視圖時,Posts對象包含標籤數據。
我可以找到的大部分文檔似乎都圍繞着早期版本的CakePHP,希望有任何幫助。
檢查外鍵名到您的相關表中。 –
該表的模式如下: CREATE TABLE'posts_tags'( 'id' int(10)unsigned NOT NULL AUTO_INCREMENT, 'post_id' int(10)unsigned NOT NULL, 'tag_id' int(10)無符號NOT NULL, PRIMARY KEY('id'), KEY'post_tags_post_id_fk'('post_id'), KEY'post_tags_tag_id_fk'('tag_id'), 約束'post_tags_post_id_fk'外鍵('post_id')參考'職位('''')在DELETE CASCADE ON UPDATE CASCADE上執行, CONSTRAINT'post_tags_tag_id_fk' FOREIGN KEY('tag_id')REFERENCES'tags'('id')ON DELETE CASCADE ON UPDATE CASCADE ); – user1627061