Php Laravel/雄辩-日期在过去时
我正在开发一个应用程序,它使用Laravel和雄辩的语言来确定某些事情(工作)是否没有按时完成。这将作为Php Laravel/雄辩-日期在过去时,php,mysql,laravel,Php,Mysql,Laravel,我正在开发一个应用程序,它使用Laravel和雄辩的语言来确定某些事情(工作)是否没有按时完成。这将作为日期存储在表中。例如:2016-07-18 我正在尝试获取所有今天日期大于表中存储的“完成日期”的记录 以下是我尝试过的: $id = \Auth::user()->id; $now = \Carbon\Carbon::today(); $jobs = Job::whereHas('manager', function ($user) use ($id) { $user->
日期
存储在表中。例如:2016-07-18
我正在尝试获取所有今天日期大于表中存储的“完成日期”的记录
以下是我尝试过的:
$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();
问题是它仍在检索将来的记录。例如,它返回的记录,我检查了表格,“完成日期”是2016-08-31
有什么想法吗?您的$now变量是一个碳对象,而不是日期
必须将对象转换为日期:
$now = \Carbon\Carbon::now()->format('Y-m-d');
然后您必须在模型查询中使用此变量。您应该在何处执行
->('complete_date',“@Maraboc没有带回更多的行。我想检查complete_date
是否高于今天,因此,这太过分了。我没有完全满足您的需要:p尝试使用whereDate
而不是where
@Maraboc基本上。如果我分配给您一项需要在J.26日完成的工作uly(昨天)和您没有完成它并在今天(28日)登录系统将检测到您已过期任务。在查询中使用时,碳自动转换为日期。无需手动格式化。@ceejayoz,碳自动转换为“Y-m-d H:i:s”而不是“Y-m-d”。由于数据库类型DATE
没有时间部分,默认碳格式可被视为对comparis无效在上,不是吗?@Phargelm我将碳日期直接传递到日期
字段没有问题。Laravel似乎在内部处理得很好(或者SQL server会自动处理)。