zoukankan      html  css  js  c++  java
  • thinkphp5.1 模型关联查询输出 整了很久才明白,做个笔记

    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)
        }
      }
    }
  • 相关阅读:
    Jenkins部署war包到tomcat7,报错
    SVN的 安装
    Eclipse中使用Maven,报错“$MAVEN_HOME”
    fiddler模拟限速实战
    maven 笔记:maven Could not create the Java Virtual Machine
    maven项目目录结构 学习笔记
    Maven的安装学习笔记
    eclipse+PyDev遇到字符UTF-8的问题
    接口测试SoapUI参数化之Datasource20151002
    随感反思20150928
  • 原文地址:https://www.cnblogs.com/tiaoma888/p/thinkphp.html
Copyright © 2011-2022 走看看