- 普通 - 未处理
现有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表联合更新/添加数据?
