您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.3学习笔记-关联模型-多对一(BELONGS_TO)
发布时间:2018-05-09 12:59:07编辑:雪饮阅读()
BELONGS_TO关联模型定义:
<?php
namespace Home\Model;
use Think\Model\RelationModel;
class UserModel extends RelationModel{
protected $_link = array(
//声明第一个关联表,所以键名是被关联的表名
'Dept' => array(
//Belongs_to 关联表示当前模型从属于另外一个父对象,例如每个用户都属于一个部门。
'mapping_type' => self::BELONGS_TO,
//当前表与被关联表在当前表中的外键
'foreign_key' => 'id',
//as_fields支持将关联对象里的字段变成当前对象的字段,若有冲突用符号“:”进行别名,要将多个关联字段添加到当前对象的字段,则只需要用逗号分隔
'as_fields' => 'name:dname',
// 定义更多的关联属性
//.....
),
);
}
?>
关联模型调用:
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
//实例化自定义模型,这里是关联模型
$User = D("User");
//使用relation方法进行关联操作,relation方法不但可以启用关联还可以控制局部关联操作,实现了关联操作一切尽在掌握之中。如果要关联局部,可以在这里将true换为你的局部关联规则的键名,以字符串形式作为参数。
$user = $User->relation(true)->select();
echo "<pre>";
print_r($user);
echo "</pre>";
}
}
关键字词:thinkphp,关联模型