用thinkphp6怎么操作如下关系的数据库?

下面是三个表的关系:

user表:

字段解释
id序号
name用户名

admin表:

字段解释
id序号
name管理员名
department_id对应department表的id

department表:

字段解释
id序号
name科室名

签到表:

字段解释
id序号
user_id对应user表的id
admin_id对应admin表的id

现在我怎么在thinkphp6下通过签到表admin_id,最后拿到department表的name.

阅读 1.3k
1 个回答

只能用笨办法了:

$res = $this->model
            ->withJoin($this->withJoinTable, $this->withJoinType)
            ->alias($alias)
            ->where($where)
            ->order($order)
            ->paginate($limit);
        $res->hidden(['admin'=>['password','salt'],'user'=>['password','salt']]);

        $departmentModel=new Department();
       foreach($res as $user){
            $depData=$departmentModel->where('id',$user['admin']['department_id'])->field('id,name')->find();
            $user['admin']['department_id']=$depData['id'];
            $user['admin']['department_name']=$depData['name'];
        }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题