2016-01-25 169 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