方法
//导入相关的实体
import { My,Staff } from '../my/entities/my.entity';
import {Identity} from "../my/entities/identity.entity"
// 后台管理获取的数据
async getAllworksData(data){
console.log(data,"data")
let skipNum = data.take *(data.current - 1)
let pageNum = data.take
let resData = await this.works.createQueryBuilder("user")//定义的是别名
.leftJoinAndSelect("user.my","works").
leftJoinAndMapOne("user.staff",Staff,"staff","user.taskPersonId=staff.staffId").
leftJoinAndMapOne("staff.identity",Identity,"identity","staff.staffId=identity.staff_id")
.where("user.state=:state",{state:data.state}).skip(skipNum).take(pageNum)
.getManyAndCount()
return {
code:200,
resData,
}
}
这种方法方便是方便,就是存在嵌套较深的问题
返回结果
{
"code": 200,
"resData": [
[
{
"id": 2,
"content": "今天碰到到的傻逼",
"image": "[1675933153281.jpg,1675934788823.jpg]",
"video": "",
"type": 2,
"createTime": "2023-02-18T16:37:41.939Z",
"site": "广西壮族自治区南宁市",
"userId": 46,
"worksLimit": 1,
"examine": 0,
"sort": "",
"taskId": "202202217324",
"teamId": "0",
"state": "0",
"taskPersonId": "5",
"my": {
"id": 46,
"username": "yaohf",
"phone": "18776382313",
"createTime": "2023-02-18T13:21:41.882Z",
"avator": "1675933153281.jpg",
"class": "1",
"team": "1"
},
"staff": {
"staffId": 5,
"staffName": "杨颂隆",
"idCard": "622922199802190519",
"age": "21",
"gender": "1",
"address": "广东省茂名市七迳镇柏坡村1号",
"registerTime": "2023-02-20T06:59:15.876Z",
"mailbox": "xiaohua661085@126.com",
"relation": "0",
"imageUrl": "1676967336981.gif",
"phone": "15562519950 ",
"identity": {
"identityId": 8,
"staff_id": 5,
"salary": "2000",
"power": "5",
"employeeNo": "1135520232604",
"idenCreateTime": "2023-02-20T08:17:05.547Z",
"teamId": "3",
"job": "5"
}
}
}
],
3
]
}
有什么更好的方法,可以留言喔