首页 > Web开发 > 详细

thinkphp5.1 模型关联查询输出 整了很久才明白,做个笔记

时间:2019-11-17 22:04:38      阅读:100      评论:0      收藏:0      [点我收藏+]

1.首先上表和模型

1.user 用户表
{
  user_id  //主键
}
2.account 账务表
{
  account_id  //主键
  user_id  //用户外键
}

3.User模型
class
User extends Model { protected $table = ‘yh_user‘; protected $pk = ‘user_id‘; } 4.Account模型 class Account extends Model { protected $table = ‘yh_account‘; protected $pk = ‘account_id‘; }

一、如果需要通过User模型获取到Account模型的数据 第一步先User模型中创建一对多的关联方法 注意是:hasMany()方法

class User extends Model
{
protected $table = ‘yh_user‘;
protected $pk = ‘user_id‘;

 //关键操作
public function account()
{
return $this->hasMany(‘Account‘,‘user_id‘);
}
 }

控制器操作
$data = UserModel::with(‘account‘)->select();
输出结果:
[2] => array(3) {
    ["user_id"] => int(67)
    ["account"] => array(1) {
      [0] => array(2) {
        ["account_id"] => int(1)
        ["user_id"] => int(67)
      }
    }


一、如果需要通过Account模型关联获取到User模型的数据 第一步先Account模型中创建反关联方法 注意是:belongsTo()方法

class Account extends Model
{
protected $table = ‘yh_account‘;
protected $pk = ‘account_id‘;

//关键操作
public function User()
{
return $this->belongsTo(‘User‘,‘user_id‘);
}
}

控制器操作:
$data = AccountModel::with(‘User‘)->select();
dump($data);

输出结果:
array(1) {
  [0] => array(8) {
    ["account_id"] => int(1)
    ["user_id"] => int(67)
    ["user"] => array(11) {
      ["user_id"] => int(67)
    }
  }
}

 

thinkphp5.1 模型关联查询输出 整了很久才明白,做个笔记

原文:https://www.cnblogs.com/tiaoma888/p/thinkphp.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!