2016-01-25 121 views
0

我是Laravel的新手,并努力确定如何使用时间戳记提供的created_at字段来选择2015年创建的所有记录。Laravel在特定年份选择记录

我使用的模式是博客:

$posts = Blog::latest()->get(); 

实例日期在数据库:

2015-01-25 12:53:27 

任何人都可以提供一些线索?

谢谢!

回答

3

你可以那样做: $posts = Blog::where(DB::raw('YEAR(created_at)'), '=', '2015')->get();

在这里你可以从YEAR函数created_at领域取得的年份,然后用你的日期进行比较。

+0

完美的作品,非常感谢! –

+0

@Paolo Resteghini好:) – mcklayin

1

您可以在模型中使用范围函数。 如:

模型

class Blog extends Eloquent { 
    public function scopePopular($query,$year) 
    { 
     return $query->where('year', '=', $year); 
    } 
} 

使用

$blog = Blog::popular(1999)-get(); 
1

只是为了completition。有一个Laravel方法。

Blog::whereYear('created_at', 2017)->get(); 

where clause,第whereDate/whereMonth/whereDay/whereYear