Thinkphp 数据模型一对一关联关系, 一对一关联 :ONE_TO_ONE,包括HAS_ONE 和 BELONGS_TO ,
要支持关联操作,模型类必须继承Think\Model\RelationModel类,关联定义的格式是
namespace Home\Model;
use Think\Model\RelationModel;
class UserModel extends RelationModel{
protected $_link = array(
'关联1' => array(
'关联属性1' => '定义',
'关联属性N' => '定义',
),
'关联2' => array(
'关联属性1' => '定义',
'关联属性N' => '定义',
),
'关联3' => HAS_ONE, // 快捷定义
...
);
}
HAS_ONE
HAS_ONE关联表示当前模型拥有一个子对象,例如,每个员工都有一个人事档案。我们可以建立一个用户模型UserModel,并且添加如下关联定义:
namespace Home\Model;
use Think\Model\RelationModel;
class UserModel extends RelationModel{
protected $_link = array(
'Profile'=> self::HAS_ONE,
);
}
BELONGS_TO
Belongs_to 关联表示当前模型从属于另外一个父对象,例如每个用户都属于一个部门。我们可以做如下关联定义。
'Dept' => self::BELONGS_TO
完整方式定义为:
'Dept' => array(
'mapping_type' => self::BELONGS_TO,
'class_name' => 'Dept',
'foreign_key' => 'userId',
'mapping_name' => 'dept',
// 定义更多的关联属性
……
),
文章来自 www.huthon.com