Thinkphp6.0 搜索器使用方法


搜索器

搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方法(该方法必须是public类型),方法命名规范为:searchFieldNameAttr, 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;
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM