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