DB / Eloquent子句从今天开始获取所有行laravel 5

时间:2019-04-25 11:46:20

标签: mysql laravel-5

我有一个有日期的模特。由于它基于非格里高利历,因此我必须将日期分为3列dd,mm和yy才能对其进行操作。

我需要检索具有今天或之后日期的3行。

我需要写一个条件,其中

  yy >= today[year]
  mm >= today[month]

以及此工具的结果

  mm >= today[month]
  dd >= today[date] 

如何编写满足此条件的子句?

我尝试过这个

$event = Model::select(['id','name'])
  ->where('yy','>=',today['year'])
  ->where('mm','>=',today['month'])
  ->where('dd','>=',today['date'])
  ->orderBy('yy','ASC')
  ->orderBy('mm','ASC')
  ->orderBy('dd','ASC')
  ->take(3)->get();

但这不会返回dd小于今天[date]的行,即使mm和yy大于今天[month]和今天[year]

1 个答案:

答案 0 :(得分:0)

您必须使用where条件。喜欢;

$now = Carbon::now();

$result = Model::where('year', '>=', $now->getYear())->where('month', '>=', $now->getMonth())->where('day', '>=', $now->getMonth())->get();