我有一个名为$products
的集合,其每个实例都有一个字段created_at
。后者显然在DB中具有格式('Y-m-d H:i:s')
。现在,很容易获得具有唯一created_at
的实例。但是,我想在一个表达式中检索created_at
的唯一年值(我可以在我的视图中编写)。我在寻找的是:
$products->unique( year value ('Y' ONLY) of 'created_at' )
此表达式应评估为:['2012', '2013', '2016']
。
答案 0 :(得分:2)
在为您提供具有唯一时间戳的集合的注释的基础上,您可以绘制年份并使用以下代码进行排序。
$years = $products->unique(function($item){
return $item['created_at']->year;
})->map(function($item){
return $item['created_at']->year;
})->sort()->toArray();
答案 1 :(得分:0)
除了Tim结果
$products = DB::table('products')->get();
$years = $products->unique(function($item){
return $item['created_at']->year;
})->map(function($item){
return $item['created_at']->year;
})->sort()->toArray();
您可以使用toArray或values()来获取集合的结果