我需要帮助,我是laravel的新手,我想查询仅从这样的表中获取年份
public function index() {
$items = Items::distinct()->orderBy('date','desc')->select(DB::raw('YEAR(`date`) as date'))->get();
$itemDet = Items::where('date', $items->date);
}
然后我要使用此功能显示基于上一年的表中的其他值
public function itemDetail($year) {
$itemDet = Items::where('YEAR(`date`)', $year);
return $itemDet;
}
但是我不知道如何在视图中调用它,我只知道如何在视图中调用第一个函数,而且我也不知道如何将值年从第一个函数作为参数传递给第二个函数。 / p>
2018
- item2018
- item2018
- item2018
2017
- item2017
2016
-item2016
-item2016
对不起,我语法不好,谢谢!
答案 0 :(得分:0)
public function itemDetail($year) {
$itemDet = Items::where('YEAR(`date`)', $year);
//return $itemDet; change it to
return view('yourViewPath',compact('itemDet'));
}
在视图中,您可以通过这种方式访问
{{ $itemDet }}
答案 1 :(得分:0)
您可以立即在索引函数中获得该输出,而无需将其传递给第二个函数,这是一种实现方法。
public function index() {
$arr_container = []; //create array container
$items = Items::distinct()->orderBy('date','desc')->select(DB::raw('YEAR(`date`) as date'))->get();
foreach($items as $val){
$itemDet = Items::select(DB::raw('item'))->where('YEAR(`date`)', $val->year)->get();
if($itemDet->count()>0){
$arr_container[$val->year][] = $itemDet[0]->item;
}
}
return view('view')->with('years',$arr_container);
}
致电{{$ years}}时,应该得到此输出。
2018
- item2018
- item2018
- item2018
2017
- item2017
2016
-item2016
-item2016