2017-09-24 129 views
1

我無法取日期,只能得到日期的年份。我的日期顯示並存儲在我的數據庫中:2014-09-07。我只想要的是當年的那一年(即2014年)。Laravel - 僅從數據庫中的日期中取得年份

這裏是我從數據庫中取日期代碼:

$year = DB::table('pets')->pluck('dates')->unique(); 

此挑選出從列dates的每一個獨特的日期。這完美的工作,並設法顯示完整的日期沒有任何麻煩。

到目前爲止,我已經試過這個:我設法只使用selectRaw('substr(dates,1,4) as year')獲得年份。這會導致:{"year":"2014"}。我不能擺脫括號,並假設它是一個錯誤的格式?

基本上,我需要幫助才能從位於mySQL數據庫中的日期獲得年份。

+0

在摘下你的領域是日期,但在selectRaw你的領域是推出。您選擇了錯誤的字段。 –

+0

@HakanSOMEZ哎呀,我的錯。複製了錯誤的代碼。我已經正確編輯了我的問題! – spacetravel

+0

結果總是像這樣或有時? –

回答

1

我想你使用get()當你使用selectRaw()然後編碼json。所以它包含字段名稱。如果您獲得專欄,或者您得到的值應該使用value(),則應該使用pluck()

$year = DB::table('pets')->selectRaw('substr(dates,1,4) as dates')->pluck('dates')->unique(); 

或者刀片

@php($year =(json_decode($year, true))['year']) 
+0

啊。我明白我做錯了什麼。這個答案和Paul的一樣。 – spacetravel

相關問題