ThinkPHP - 关联模型 - 多对多
2024-09-29 23:44:34
表结构:
映射关系:
UserRelationModel会取UserRelation为表名称。所以要自定义表名称:
//定义主表名称
protected $tableName = 'User';
<?php
Class UserRelationModel extends RelationModel {
//定义主表名称
protected $tableName = 'User'; //定义关联模型
protected $_link = array(
'Role' => array(
'mapping_type' => MANY_TO_MANY, //多对多关系
'foreign_key' => 'user_id', //role对应的外键关系
'relation_foreign_key' => 'role_id', //user表对应的外键关系
'relation_table' => 'ms_role_user', //要关联的表
'mapping_fields' => 'id, name, remark' //关联哪些字段
)
);
}
查询的结果:
Array
(
[0] => Array
(
[id] => 1
[username] => admin
[logintime] => 1455336937
[loginip] => 127.0.0.1
[lock] => 0
[Role] => Array
(
) ) [1] => Array
(
[id] => 2
[username] => thinkbaitang
[logintime] => 1455339999
[loginip] => 127.0.0.1
[lock] => 0
[Role] => Array
(
[0] => Array
(
[id] => 1
[name] => Manager
[remark] => 普通管理员
) [1] => Array
(
[id] => 2
[name] => Admin
[remark] => 高级管理员
) ) ) [2] => Array
(
[id] => 3
[username] => zhangsna
[logintime] => 1455340000
[loginip] => 127.0.0.1
[lock] => 0
[Role] => Array
(
[0] => Array
(
[id] => 1
[name] => Manager
[remark] => 普通管理员
) [1] => Array
(
[id] => 2
[name] => Admin
[remark] => 高级管理员
) [2] => Array
(
[id] => 3
[name] => SuperAdmin
[remark] => 超级管理员
) ) ) )
最新文章
- 获取设备UDID、IMEI、ICCID、序列号、Mac地址等信息
- lua中基类和“继承机制”
- idea 重写toString()模板,转成json格式
- 一些常用的SQL查询语句
- Spring3.0实现REST实例
- hdu 4810 Wall Painting (组合数学+二进制)
- Entity Framework with MySQL 学习笔记一(复杂类型 Complex Types)
- ibatis使用--SqlMapClient对象
- RMAN学习笔记
- 深入浅出java并发
- 关于下拉框列表不可选择相同值的设置一:当前DOM不可选
- codeforces#1136 C. Nastya Is Transposing Matrices(找规律)
- Linux scp sudo
- python学习的准备工作
- Nginx配置项优
- web socket
- Python记录6:函数2,函数参数
- github开源库(二)
- Linux之统计特定进程运行数量
- 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights