3表关联查询问题

浏览:1519 发布日期:2010/04/01
- 普通 - 未处理
现有3个表:
1、用户表(user),结构如下CREATE TABLE `o_user` (
  `user_id` int(10) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(60) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`user_id`)
2、扩展属性表(extension),结构如下CREATE TABLE `o_extension` (
  `ext_id` tinyint(2) NOT NULL AUTO_INCREMENT
  `ext_name` varchar(30) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`ext_id`)
)
3、用户扩展属性值表(user_extension),结构如下CREATE TABLE `o_user_extension` (
  `user_id` int(10) NOT NULL,
  `ext_id` tinyint(2) NOT NULL,
  `ext_value` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  KEY `user_id` (`user_id`),
  KEY `ext_id` (`ext_id`),
  CONSTRAINT `ext_id` FOREIGN KEY (`ext_id`) REFERENCES `o_extension` (`ext_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `o_user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
现在我定义了一个User的模型: 
class UserModel extends RelationModel{
 protected $_link = array(
  'exts'=>array(
     'mapping_type'=>MANY_TO_MANY,
     'class_name'=>'extension',
     'foreign_key'=>'user_id',
     'relation_foreign_key'=>'ext_id',
     'relation_table'=>'o_user_extension'
  )
 );
}
然后关联查询relation(true),结果表user_extension的ext_value字段没有查询出来,查询出来的都是user和extension两个表。
1、请问如何把3个表的数据都查询出来?
2、另外,如何进行3表联合更新/添加数据?
评论(
后面还有条评论,点击查看>>