如何在Eloquent中使用now()?

时间:2018-01-11 09:03:36

标签: php date eloquent slim-3

现在使用Eloquent的最佳方法是什么?我的意思是,是否有一个本土的Eloquent函数可以返回今天的日期?我使用Slim框架,对于此查询,我找到的唯一解决方案是:

    $now = date('Y/m/d H:i:s', time());
    $articles = Article::where('created_at', '<', $now)
                    ->orderBy('created_at', 'DESC')
                    ->limit(10)
                    ->get();

它有点乱,不是吗? 我可以使用碳,但它会产生额外的依赖......

由于

1 个答案:

答案 0 :(得分:2)

这里有两个选项:使用DB::raw方法使where方法按原样处理给定的表达式:

$articles = Article::where(DB::raw('created_at < NOW()'))
                    ->orderBy('created_at', 'DESC')
                    ->limit(10)
                    ->get();

...或使用whereRaw方法:

$articles = Article::whereRaw('created_at < NOW()')
                    ->orderBy('created_at', 'DESC')
                    ->limit(10)
                    ->get();

作为旁注,Eloquent有几种与日期时间相关的处理辅助方法 - whereDatewhereMonthwhereDaywhereYearwhereTime。我真的不确定在这种情况下可以使用它们,但它们可能会在其他地方变得有用。