如下两个表,如何关联?

Conall 2 年之前

Topics表:

CREATE TABLE IF NOT EXISTS `bb_topics` (
  `topic_id` bigint(11) unsigned NOT NULL auto_increment,
  `topic_member_id` int(11) NOT NULL,
  `topic_group_id` int(11) NOT NULL,
  `topic_title` char(128) NOT NULL,
  `topic_content` longtext NOT NULL,
  `topic_created_time` int(11) NOT NULL,
  `topic_views` int(11) NOT NULL default '0',
  `topic_collections` int(11) NOT NULL default '0',
  `topic_replys` int(11) NOT NULL default '0',
  PRIMARY KEY  (`topic_id`),
  KEY `topic_member_id` (`topic_member_id`),
  KEY `topic_group_id` (`topic_group_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20001 ;

Members表:

CREATE TABLE IF NOT EXISTS `bb_members` (
  `member_id` bigint(11) unsigned NOT NULL auto_increment,
  `member_name` char(128) default NULL,
  `member_password` char(40) NOT NULL,
  `member_email` char(128) NOT NULL,
  `member_created_time` int(11) NOT NULL,
  `member_qq` int(13) default NULL,
  `member_msn` char(128) default NULL,
  `member_gtalk` char(128) default NULL,
  PRIMARY KEY  (`member_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

Topic中的topic_member_id与members中的member_id关联。怎么写Topic.php这个Model中的关联关系?

在 Ko v3 的 ORM 中你可以尝试这样:

// topic model
class Model_Topic extends ORM {
	
	// Relationships
	protected $_belongs_to = array(
		'author'	=> array(
			'model' 		=> 'member',
			'foreign_key' 	=> 'topic_member_id',
		)
	);
	
	// ...


// member model
class Model_Member extends ORM {
			
	// Relationships
	protected $_has_many = array(
		'topics' 	=>	array(
			'model' 	        => 'topic'
			'foreign_key' 	=> 'member_id',
		)
	);


	// ...

我想知道Kohana中的关联查询是每笔都逐个Foreach还是一条SQL出结果。。

问个问题,这平台是你弄的咩。。。正在山寨。哈哈

已经定义topic.php。Class名:Model_Topic。在Home/index操作的时候还是提示ErrorException [ Fatal Error ]: Class 'Model_Topic' not found。已经加载了ORM的Module。。。该咋办?Kn-v3的

第一,请在正确的版块发贴,你最近几次的帖子都在 [分享发现] 发贴,我已经帮你移动。
第二,已经发贴说明过了就不用在发贴强调一次
第三,你的帖子里是全部复制,包含错别字,Kn-v3 是什么?
第四,你没有认真看手册
第五,你没有讲清楚你的问题的描述(比如,你用的什么版本,你的文件放在了哪里,你的环境是什么,如何调用的)

发表讨论

在回复之前你需要先进行登录
记住我的登录状态 (忘记密码)