簡體   English   中英

如何通過比較Laravel中的兩個日期來搜索條目?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM