TP5多條件搜尋,同時有必要條件

2022-02-16 22:44:24 字數 1070 閱讀 4856

$model = $this->model;

//查詢是否有搜尋引數

$search = input('?get.search') ? trim(input('get.search')) : false

;

$list = $model

;

if($search

) );

}// 必要條件

$list = $list->where([

'ispublic' => 1,

'isdel' => 0])

->order('sort','desc')

->paginate(15,false,[

'query' => request()->param()

]);

前言:where裡面的條件是 && 的關係,whereor裡面的條件是 | | 的關係,

如果不用閉包,直接在外面whereor的話會查詢資料庫所有的,條件就不起作用了

想要得到的效果:

1.篩選出is_deleted欄位為0(未刪除)的公告

2.篩選出全部狀態為已傳送(status=1)的公告

3.狀態為草稿的公告僅自己可見

**(紅色框起來的部分):

等價於select * from table(表名) where ( `admin_id` = 當前使用者的id   or `status` = '1' ) and `is_deleted` = '0 ;      

注: 1.$params = ['is_deleted'=>0]     where()可以寫多個條件,逗號分隔,如where(['name'=>'坤坤','is_deleted'=>0])

2.order是排序方式

3.field是要查詢的字段

引用:

TP5的whereOr方法多條件存在

where a 1 where b 2 where c 3 whereor a 1 whereor b 2 whereor c 3 data db name matorder where where whereor whereor select 這樣查出來的結果不是我想要的,sql語句為 selec...

tp5帶條件分頁

前台寫個hidden的input,後台 分頁引數 num input get.pagelist post和get需要和前台提交的時候保持一致否則無效 case lists db table think case where map field field order id asc paginate ...

TP5根據in條件查詢,根據in條件排序資料

一 使用expression類 use think db expression str 5,3,7,6 order new expression field id,str where id in explode str data db name db where where field id,tit...