搜索器
搜索器的作用是用於封裝字段(或者搜索標識)的查詢條件表達式,一個搜索器對應一個特殊的方法(該方法必須是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;
}
}