Laravel / Eloquent - 过去的日期

时间:2016-07-27 14:33:42

标签: php mysql laravel

我正在开发一个使用Laravel和Eloquent的应用程序来确定某件事(某个工作)是否未按时完成。它在表格中存储为DATE。例如。 2016-07-18

我正在尝试获取所有记录,其中今天的日期大于" completed_date"存储在表格内。

以下是我的尝试:

$id = \Auth::user()->id;
$now = \Carbon\Carbon::today();

$jobs = Job::whereHas('manager', function ($user) use ($id) {
   $user->where('users.id', '=', $id);
})->where('complete_date', '>', $now)->get();

问题在于它仍在检索将来的记录。例如,它返回的记录,我检查了表和" complete_date"是2016-08-31

有什么想法吗?

1 个答案:

答案 0 :(得分:-2)

您的 $ now 变量是Carbon对象,而不是日期。

您必须将对象转换为日期:

$now = \Carbon\Carbon::now()->format('Y-m-d');

然后你必须在你的模型查询中使用这个变量。