public function getOrderList($where,$page,$limit){ $count = $this->model ->alias("order") ->join("counsel_teacher teacher","order.teacher_id=teacher.id") ->where($where)->count(); if($page){ $data = collection($this->model ->alias("order") ->field("order.id,order.order_no,order.teacher_id,order.day,order.name,order.times_ids,order.user_id,order.service_id,order.price,order.createtime,order.status,order.completetime,teacher.teacher_name,teacher.image") ->join("counsel_teacher teacher","order.teacher_id=teacher.id") ->where($where)->page($page,$limit)->order("id desc")->select())->toArray(); }else{ $data = collection($this->model ->alias("order") ->field("order.id,order.order_no,order.teacher_id,order.day,order.name,order.times_ids,order.user_id,order.service_id,order.price,order.createtime,order.status,order.completetime,teacher.teacher_name,teacher.image") ->join("counsel_teacher teacher","order.teacher_id=teacher.id") ->where($where)->order("id desc")->select())->toArray(); }
时间: 2024-02-07 17:03:27 浏览: 61
深入php self与$this的详解
这段代码是一个订单列表查询的函数,根据传入的条件$where,查询符合条件的订单数据,并根据分页参数$page和$limit进行分页查询,最后返回符合条件的订单数据。
具体的操作可以分为以下几步:
1. 查询符合条件的订单数据总数,使用的是模型的count()方法。
```php
$count = $this->model
->alias("order")
->join("counsel_teacher teacher","order.teacher_id=teacher.id")
->where($where)->count();
```
2. 根据传入的分页参数进行分页查询,使用的是模型的page()方法,如果没有传入分页参数,则查询所有符合条件的订单数据。
```php
if($page){
$data = collection($this->model
->alias("order")
->field("order.id,order.order_no,order.teacher_id,order.day,order.name,order.times_ids,order.user_id,order.service_id,order.price,order.createtime,order.status,order.completetime,teacher.teacher_name,teacher.image")
->join("counsel_teacher teacher","order.teacher_id=teacher.id")
->where($where)->page($page,$limit)->order("id desc")->select())->toArray();
}else{
$data = collection($this->model
->alias("order")
->field("order.id,order.order_no,order.teacher_id,order.day,order.name,order.times_ids,order.user_id,order.service_id,order.price,order.createtime,order.status,order.completetime,teacher.teacher_name,teacher.image")
->join("counsel_teacher teacher","order.teacher_id=teacher.id")
->where($where)->order("id desc")->select())->toArray();
}
```
其中,使用的是模型的alias()方法设置表的别名,使用的是模型的join()方法进行表的关联,使用的是模型的field()方法设置要查询的字段,使用的是模型的order()方法设置查询的排序方式。
3. 最后返回符合条件的订单数据。
```php
return [
'count' => $count,
'list' => $data
];
```
阅读全文