我在嘗試做這項工作時遇到了一些麻煩。我有2個模型,User_Pro和Category。我閱讀了kohana指南中的關係文檔,我知道我需要在User_Pro和Category模型上定義$_has_many
關係,並使用belongs_to字段創建model_user_pro_categories。
kohana的多對多關係3.2
User_Pro型號:
protected $_has_many = array(
'categories' => array(
'model' => 'TM_Category',
'through' => 'user_pro_categories',
'foreign_key' => 'id_user_pro',
),
);
分類模型:
protected $_has_many = array(
'users_pro' => array(
'model' => 'TM_User_Pro',
'through' => 'user_pro_categories',
'foreign_key' => 'id_category',
),
);
user_pro_categories型號:
protected $_belongs_to = array(
'user_pro' => array(
'model' => 'TM_User_Pro',
'foreign_key' => 'id_user_pro',
),
'category' => array(
'model' => 'TM_Category',
'foreign_key' => 'id_category',
),
);
我得到的錯誤是:
Database_Exception [ 1054 ]: Unknown column 'tm3_user_pro_categories.category_id' in
'on clause' [ SELECT `tm3_tm_category`.* FROM `tm3_categories` AS `tm3_tm_category` JOIN
`tm3_user_pro_categories` ON (`tm3_user_pro_categories`.`category_id` = `tm3_tm_category`.`id_category`)
WHERE `tm3_user_pro_categories`.`id_user_pro` = '2' ]
這就像它不關心我定義的fk,它想要使用後綴的東西......任何想法?
您是否在模型中聲明瞭正確的主鍵? 'protected $ _primary_key ='strange_primary_key';' – Thorsten