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)
    }
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM