2015-09-29 9 views
9

私の問題は、年と月だけのcreated_at属性からデータベーステーブルからデータを取得したいということです。私が試してみましたコードは次のとおりです。laravel 5.1のデータベーステーブルのcreated_at属性から年月を選択する方法は?

$post= Mjblog::select(DB::raw('YEAR(created_at) year, MONTH(created_at) month')); 
$posts_by_y_m = $post->where('created_at',$post)->get(); 
+0

返される結果には、** Mjblog **モデルのすべての年月が含まれている必要があります。もしそうなら、あなたはなぜこのことをしていますか? '$ post-> where( 'created_at'、$ post) - > get(); '? –

+0

少し質問を明確にしてください。 –

+0

私はアーカイブの月と年をクリックすると、created_at日付フィールドがあるデータベーステーブルの内容を表示する必要があります。 –

答えて

26

クエリビルダで利用可能な日付のヘルパーがあります

$post = Mjblog::whereYear('created_at', '=', $year) 
       ->whereMonth('created_at', '=', $month) 
       ->get(); 
3

あなたがMjblogの単一のインスタンスから年と月を取得したい場合は、あなたがそれらにアクセスすることができますこのように:

$year = $post->created_at->year; 
$month = $post->created_at->month; 

Carbon\Carbongetters documentationについては、こちらをご覧ください。

関連する問題