登录

TP 一对一,一对多查询 hasOne,belongsTo,hasMany

PHP笔记
0 889

user_group表

在这里插入图片描述

users表

在这里插入图片描述

profile表

在这里插入图片描述

 

UserGroup模型

class UserGroup extends Model{
    function users(){
        return $this->hasMany('Users''group_id''id');
    }
}

Users 模型

class Users extends Model{
    function usergroup(){
        return $this->belongsTo('UserGroup''group_id''id');
    }
    function profile(){
       return $this->hasOne('Profile''user_id''id');
    }
}

Profile 模型

class Profile extends Model{
    function user(){
        return $this->belongsTo('User');
    }
}

用法一

public function getlinkData(){
	$res = model('users')->find(1);//查id为1的user表的数据
	$res->profile;//查id为1的user和profile表的数据
	$res->usergroup;//查id为1的user和profile和usergroup表的数据上面几个步骤的结果会累加在一起
	return json($res);
	$group = model('UserGroup')->find(1);//查id为1的usergroup表的数据
	$group->users;//查id为1的usergroup和user表的数据
	return json($group);
}

用法二 查询用户一组的所以数据,这些数据在三张表中

在这里插入图片描述

发表评论

0 个回复