Yii複雜條件查詢

2021-09-27 04:24:20 字數 1441 閱讀 5819

$obj = $this->find();

$obj->where(array(

'and',

array(

'or',

// 要新增的開始時間在已存在的活動裡

array(

'and',

['<=', 'start_time', $param['starttime']],

['>=', 'end_time', $param['starttime']],

),// 要新增的結束時間在已存在的活動裡

array(

'and',

['<=', 'start_time', $param['endtime']],

['>=', 'end_time', $param['endtime']]

),// 要新增的結束時間在已存在的活動裡

array(

'and',

['>=', 'start_time', $param['starttime']],

['<=', 'end_time', $param['endtime']])),

array('shop_id' => $param['shopid'], 'status' => '1')

));if (isset($param['id']) && $param['id'] > 0)

$select = 'id';

$result = array();

$obj->orderby('create_time desc');

$result = $obj->select($select)->asarray()->one();

// dd($obj->createcommand()->getrawsql());

用於複雜的where查詢 sql語句是下面這樣

select

`id`

from

`tablename`

where

( (

(`start_time` <= '1568563200')

and (`end_time` >= '1568563200')

) or (

(`start_time` <= '1568563201')

and (`end_time` >= '1568563201')

) or (

(`start_time` >= '1568563200')

and (`end_time` <= '1568563201')

) )and (

(`shop_id` = '112324')

and (`status` = '1')

)and (`id` != 2)

order by

`create_time` desc

希望能幫助到你們  ^_^ >~

Yii2 查詢條件

字串格式,例如 status 1 雜湊格式,例如 status 1,type 2 操作符格式,例如 like name test andfilterwhere between updated at oldtime,current andwhere between updated at oldtime...

複雜條件的查詢

1 主要內容 where子句中幾種複雜的搜尋條件,包括組合的搜尋條件 and,or in 運算子,not運算子,like運算子和相關的萬用字元。2 例項表 簡單查詢一文中的teacher表,和下面的course表 teacher表 course表 3 and 和or eg 使用teacher表,查詢...

條件複雜的sql語句查詢

有三張表 分別為 會員表 member 銷售表 sale 退貨表 regoods 會員表有字段 memberid 會員id,主鍵 credits 積分 銷售表有字段 memberid 會員id 外來鍵 購買金額 mnaccount 退貨表中有字段memberid 會員id 外來鍵 退貨金額 rmna...