laravel - Laravel 视图中的多种功能
问题描述
我需要帮助,我是 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;
}
但是我不知道如何在视图中调用它,我只知道如何在视图中调用第一个函数,并且我不知道如何将值年从第一个函数作为参数传递给第二个函数。
2018
- item2018
- item2018
- item2018
2017
- item2017
2016
-item2016
-item2016
对不起我的语法不好,谢谢!
解决方案
您可以立即在索引函数中获得该输出,而无需将其传递给第二个函数,这是一种方法。
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
推荐阅读
- sql - 检查域是否在 SQL Server 中设置了 mx 记录
- linux - 如何调整 /dev/shm 的大小?
- mysql - 带有内部连接的mysql查询中的if语句
- emacs - 是否可以让 emacs verilog-auto 连接在 AUTO_TEMPLATE 中模板化的电线
- applescript - 选择安全和隐私中的项目
- c++ - 如何在 C++ 中更改 LPCTSTR 对象?
- c# - 模拟单元测试的 ScrapySharp 响应
- javascript - 如何在 amp 中使用 IFrame 播放器 API?
- python-3.x - macOS Catalina python 通过启动访问拒绝下载文件夹
- python - 可将屏蔽视图写入记录数组