我正在尝试获得60天后到期的date_fin_contrat
。
所以我使用下面的公式:
date_fin_contrat-60 <= current_date
所以在Laravel中我使用以下代码:
$contrats_en_cours = Contrat::where('contrats.actif', 1)
->join('projets_castings', 'contrats.id_contrat', '=', 'projets_castings.id_contrat')
->leftjoin('projets', 'projets.id_projet', '=', 'projets_castings.id_projet')
->leftjoin('castings', 'contrats.id_casting', 'castings.id_casting')
->whereDate('contrats.date_fin_contrat', '-', 60, '<=', Carbon::today())
->get();
例如:当前日期是09-08-2021
,date_fin_contrat
是09-10-2021
,我应该得到这一行。
但是我什么也没得到,是我的查询有问题吗?
如果你有任何想法请帮忙。
我没有使用laravel的whereDate函数但是你可以这样做
date_fin_contract = "09-10-2021">
$today_date = Carbon::now()->addDays(60)->toDateTimeString();
在where子句中你可以简单地检查
where('date_fin_contract', '<=', $today_date);
<=
表示合同未过期
>=
表示合同已过期