pulading1988
7/31/2017 - 9:02 AM

laravel查询参数分组

laravel查询参数分组

SELECT *
FROM `market_list`
WHERE `id` IN ('1', '2')
	AND `status` = '1'
	AND (`start_time` IS NULL
		OR `start_time` <= '2017-07-31 17:05:57')
	AND (`end_time` IS NULL
		OR `end_time` >= '2017-07-31 17:05:57')
ORDER BY `priority` DESC
LIMIT 5
$market = MarketListModel::whereIn('id', $ids)
    ->where('status', '=', MarketListModel::STATUS_VALID)
    ->where(function($query) use($now) {
        $query->whereNull('start_time')->orWhere('start_time', '<=', $now);
    })
    ->where(function($query) use($now) {
        $query->whereNull('end_time')->orWhere('end_time', '>=', $now);
    })
    ->orderBy('priority', 'desc')
    ->limit(5)
    ->get();