我在约会时遇到了麻烦,只能获得约会年份。我的日期显示并存储在我的数据库中:2014-09-07
。我唯一想要的是该日期的那一年(即2014年)。
以下是我从数据库中获取日期的代码:
$year = DB::table('pets')->pluck('dates')->unique();
这将从列dates
中选出每个唯一的日期。这非常有效,可以毫无困难地显示完整的日期。
到目前为止,我已经尝试过这个:我设法只使用selectRaw('substr(dates,1,4) as year')
获得了这一年。这导致:{"year":"2014"}
。我无法摆脱括号并假设格式错误?
基本上,我需要帮助才能从mySQL数据库中的日期开始获取年份。
答案 0 :(得分:1)
我认为当您使用get()
然后编码json时使用selectRaw()
。所以它包括字段名称。如果您获得了列,则应使用pluck()
,或者如果您获得了值,则应使用value()
。
$year = DB::table('pets')->selectRaw('substr(dates,1,4) as dates')->pluck('dates')->unique();
或在刀片中
@php( $year =( json_decode($year, true) )['year'] )
答案 1 :(得分:1)
这可能要晚了,但出于学习目的: 使用模型方法,您可以做到这一点。
Pets::pluck('dates')->map(function ($pet) {
return $pet->format('Y');
})->unique();