fix:前台教师详情接口修改、TOOL类公共方法上下数据方法修改
This commit is contained in:
parent
eb3d245509
commit
29c3238e85
@ -76,7 +76,9 @@ class Teachers extends BaseController
|
||||
{
|
||||
$params = $request->param();
|
||||
|
||||
$this->validate($params, ['teacher_id|教师id' => 'require']);
|
||||
$this->validate($params, [
|
||||
'teacher_id|教师id' => 'require'
|
||||
]);
|
||||
|
||||
$find = ModelTeachers::field([
|
||||
'a.teacher_id',
|
||||
@ -87,6 +89,7 @@ class Teachers extends BaseController
|
||||
'b.subject_name',
|
||||
'a.teacher_content',
|
||||
'a.teacher_intro',
|
||||
'a.teacher_order',
|
||||
])
|
||||
->alias('a')
|
||||
->leftjoin('subject b', 'a.subject_guid = b.subject_guid')
|
||||
@ -95,6 +98,19 @@ class Teachers extends BaseController
|
||||
->where('teacher_id', $params['teacher_id'])
|
||||
->find();
|
||||
|
||||
return msg(0, '获取教师详情成功!', ['data' => $find]);
|
||||
$last_next = Tool::getLastNextData(
|
||||
ModelTeachers::class,
|
||||
$find->teacher_order,
|
||||
[
|
||||
'field' => ['teacher_id', 'teacher_name'],
|
||||
'extraWhere' => [['subject_guid', '=', $find->subject_guid]],
|
||||
]
|
||||
);
|
||||
|
||||
return msg(0, '获取教师详情成功!', [
|
||||
'data' => $find,
|
||||
'last' => $last_next[0],
|
||||
'next' => $last_next[1],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -314,25 +314,38 @@ class Tool
|
||||
* 上下个数据返回
|
||||
*
|
||||
* @author xjh
|
||||
* @param \think\Model $model 模型层对象
|
||||
* @param array $sortField 排序字段信息[排序字段字段名,当前排序值]
|
||||
* @param string $model 模型层命名空间地址
|
||||
* @param int|array $sort_field_info 排序字段信息 例:当前排序值(排序字段默认走模型层定义好的) | [排序字段字段名,当前排序值]
|
||||
* @param array $extends 扩展
|
||||
* @param array $extends["field"] 数据结果集标识要返回的字段(默认全部字段返回)
|
||||
* @param string $extends["type"] 返回类型 all(默认):[上个数据,下个数据] | last:上个数据 | next:下个数据
|
||||
* @param array $extends["extraWhere"] 额外查询条件(批量混合查询格式: [ ['user_name','=','name'],... ])
|
||||
* @return string|array
|
||||
*/
|
||||
public static function getLastNextData(\think\Model $model, array $sortField, array $extends)
|
||||
public static function getLastNextData(string $model, $sort_field_info, array $extends =[])
|
||||
{
|
||||
//模型对象初始化
|
||||
$model = new $model();
|
||||
|
||||
//排序字段信息初始化
|
||||
$order_field_name = null;
|
||||
$order_field_val = null;
|
||||
if (is_array($sort_field_info)) {
|
||||
$order_field_name = $sort_field_info[0];
|
||||
$order_field_val = $sort_field_info[1];
|
||||
} else if (is_int($sort_field_info)) {
|
||||
if (!isset($model->order_field)) {
|
||||
throwErrorMsg(__METHOD__ . "若排序字段信息为字符串,则必须要在模型层定义排序字段");
|
||||
}
|
||||
$order_field_name = $model->order_field;
|
||||
$order_field_val = $sort_field_info;
|
||||
}
|
||||
|
||||
//非必传参数初始化
|
||||
$extra_where = isset($extends['extraWhere']) ? $extends['extraWhere'] : [];
|
||||
$field = isset($extends['field']) ? $extends['field'] : null;
|
||||
$type = isset($extends['type']) ? $extends['type'] : 'all';
|
||||
|
||||
// 排序字段名
|
||||
$order_field_name = $sortField[0];
|
||||
// 排序字段当前值
|
||||
$order_field_val = $sortField[1];
|
||||
|
||||
//闭包查询函数
|
||||
$query = function ($op) use ($model, $order_field_name, $order_field_val, $field, $extra_where) {
|
||||
@ -340,11 +353,11 @@ class Tool
|
||||
if ($field) $model = $model->field($field);
|
||||
return $model->where($order_field_name, $op, $order_field_val)
|
||||
->where($extra_where)
|
||||
->limit(1)
|
||||
->order($order_field_name, $order)
|
||||
->find();
|
||||
};
|
||||
|
||||
//获取指定类型数据
|
||||
switch ($type) {
|
||||
case 'all':
|
||||
return [$query('<'), $query('>')];
|
||||
|
Loading…
Reference in New Issue
Block a user