[英]How to search for an entry by comparing two dates in Laravel?
我有一個帶有列varchar“ date_start”和列varchar“ date_end”的表。
這是存儲在其中的日期的示例:
2016-01-05 00:00:00
我想收集兩個日期之間的所有元素。 我試過了,但是不起作用:
$dateStart = $request->get('date_start'); // Return 1990-01-01
$dateEnd = $request->get('date_end'); // Return 2017-12-06
$query = Event::published();
if ($dateStart != '') { $query->where('date_start', '<=', $dateStart); };
if ($dateEnd != '') { $query->where('date_end', '>=', $dateEnd); };
$items = $query->get();
返回的查詢:
select * from `events` where `status` = 'PUBLIÉE' and `date_start` <= '1990-01-01' and `date_end` >= '2017-12-06' order by `updated_at` desc`
這應該工作
$query->where('date_start', '>', $dateStart)->where('date_end', '<=', $dateEnd)->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.