where 條件為空時不走where條件

2021-10-08 03:15:07 字數 2092 閱讀 1588

mysql

若想當where 條件為空時不走where條件,where可以整個為空,但裡面的如where('is_status = sta

tus′

)的

status')的

status

′)的status不能為空,不然會查詢出status為空的資料,記錄一下。

$where=''

;$sta=[

];$demandstatus=[

];if(

$status==0

)elseif

($status==1

)elseif

($status==2

)else

// 商品列表獲取條件

$params

=array_merge([

'type_id'

=>0,

// 分類id

'search'

=>'',

'listrows'

=>15,

// 每頁數量],

$param);

// 篩選條件

$filter=[

];$params

['type_id'

]>0&&

$filter

['t.type_id']=

['in'

, model\typet::

getsubtypeid

($params

['type_id'])

];!empty

($params

['search'])

&&$filter

['d.demand_name']=

['like'

,'%'

.trim

($params

['search'])

.'%'];

$list

=$this

->

alias

('d')-

>

join

('user u'

,'d.user_id=u.user_id'

,'left')-

>

join

('release_type t'

,'d.type_id=t.type_id')-

>

join

('release_demand_image i'

,'d.demand_id=i.demand_id')-

>

join

(' upload_file f'

,'i.image_id= f.file_id')-

>

where

('d.is_delete'

,'='

,'0')-

>

where

('d.is_receiving'

,'=',1

)->

where

($sta)-

>

where

($demandstatus)-

>

where

($where)-

>

where

('u.user_id'

,'='

,$user_id)-

>

where

($filter)-

>

order

('d.create_time'

,'desc')-

>

group

('d.demand_id')-

>

field

('d.*,t.*,u.user_id,u.nickname,group_concat(f.file_name) as file_path')-

>

paginate

($params

['listrows'],

false,[

'query'

=>

request()

->

request()

]);

關於MYSQL查詢時WHERE條件值為數字的問題

本來我需要查詢 select from demo where status 1 杯具的是,我想要的結果沒有出來,找了一下問題的原因 我資料庫中status欄位的型別為enum,不是數字型別的原因?select from demo where status 1 這樣就可以了,我一直以為是一樣的呢,以為...

Mybatis Plus 實現查詢條件為空時不生效

當我們查詢條件中的值不確定是否有空值時,我們期待查詢時,mybatis 能自動幫我們判空。比如這樣 this page new query getpage queryfields new eq province id queryfields.getprovinceid eq city id quer...

判斷條件為空時需要注意

if accessuser null equals accessuser accesspassword null accesspassword.equals accessuser.equals usercheck accesspassword.equals passwordcheck 第一點 先判斷...