2017-09-24 124 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

相关问题