Имеется класс
class PHPBB_Post_Model extends Core_Entity
{
protected $_marksDeleted = NULL;
protected $_primaryKey = 'post_id';
protected $_modelName = 'phpbb_post';
protected $_belongsTo = array(
'phpbb_topic' => array( 'foreign_key' => 'topic_id'),
'user' => array()
);
}
Таблица
`phpbb_posts` (
`post_id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
`topic_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
`post_subject` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`post_id`),
INDEX `topic_id` (`topic_id`),
FULLTEXT INDEX `post_subject` (`post_subject`)
)
данные
(1, 3, 'Тест'),
(2, 3, 'Re: Тест'),
(3, 3, 'Re: Тест'),
(4, 3, 'Re: Тест'),
И класс
class PHPBB_Topic_Model extends Core_Entity
{
protected $_marksDeleted = NULL;
protected $_primaryKey = 'topic_id';
protected $_modelName = 'phpbb_topic';
protected $_hasMany = array(
'phpbb_post' => array('foreign_key' => 'topic_id'),
);
}
таблица
`phpbb_topics` (
`topic_id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
`topic_last_post_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
`topic_title` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_bin',
PRIMARY KEY (`topic_id`)
)
данные
(3, 4, 'Тест')
При попытке сделать
$oPHPBB_Post = Core_Entity::factory('phpbb_post',1);
echo $oPHPBB_Post->Phpbb_Topic->topic_last_post_id;
Ошибка
Unknown column 'phpbb_topics.post_id' in 'where clause'. Query: SELECT * FROM `phpbb_topics` WHERE `phpbb_topics`.`post_id` = '3' LIMIT 1
Почему так и как решить?