thinkphp6对象转数组

文章描述:

thinkphp6一对多查询把结果转换成数组

 

数据表

users用户数据表

user_group分组数据表

profile文件数据表

 

模型

Users

<?php

declare (strict_types=1);
namespace app\model;
use think\Model;

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

UserGroup

<?php

declare (strict_types=1);
namespace app\model;
use think\Model;

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

Profile

<?php

declare (strict_types=1);
namespace app\model;
use think\Model;

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

 

 

使用

$model = new Users();
//        $res = model('users')->where('group_id','in',1)->select();
$res = $model->select();
foreach($res as $item){
     $item->profile;
     $item->usergroup;
}

//   print_r($res);

 

打印结果:

think\model\Collection Object

 

转换成数组

引入

use think\Collection;

使用

$abc = Collection::make($res)->toArray();
echo "<pre>";
print_r($abc);

 

发布时间:2023/10/12

发表评论