搜索器
搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方法(该方法必须是public
类型),方法命名规范为:searchFieldName
Attr, withSearch触发搜<?phpnamespace app\admin\model;
class
Books
extends \app\common\Base\
Model
{
protected
$name =
'books';
protected
$field = [
'id',
'title',
// 标题
'desc',
// 备注
'author',
// 作者
'class_tree_id',
// 类型
'tags',
// 标签
'cover',
// 封面
'sort',
// 排序
'status',
// 状态
'create_time',
// 创建时间
'update_time',
// 更新时间
'delete_time',
// 0 未删除 >0 未删除
];
// 搜索器
public
function
searchTitleAttr(
$query,
$value,
$data)
{
$query->
whereLike(
'title',
'%'.
$value.
'%');
}
public
function
searchStatusAttr(
$query,
$value,
$data)
{
$query->
where(
'status',
$value);
}
// 获取列表
public
function
getList(
$param)
{
$list =
$this->
withSearch(
array_keys(
$param),
$param)
->
order(
'sort',
'desc')
->
order(
'create_time',
'desc')
->
paginate(
$param[
'limit'] ?:
parent::LIMIT);
return
$list;
}
}