Thinkphp 数据模型一对一关联关系

  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值