使用laravel 5.6和mysql . 我有以下表名为 vehicles
id name categoryname brandname model
1 juy car toyota 121
2 gty van nissan caravan
3 bgh car bmw 520d
4 hyu van ford max
5 nhj car toyota 121
6 gtr car toyota corolla
7 gtr van nissan caravan
我正在使用以下控制器功能来显示带有品牌名称和模型名称的类别名称
$buss = DB::table('vehicles')
->select('categoryname','brandname','modelname', DB::raw('count(*) as total'))
->orderBy('categoryname', 'asc')
->groupBy('modelname')
->get();
return view('vehicles.bus')->withBuss($buss);
并使用以下刀片文件来显示数据
<?php $cat = ""; ?>
@foreach($vehicles->unique('modelname') as $vehicle)
@if($vehicle->categoryname != $cat )
<?php $cat = $vehicle->categoryname; ?>
{{$cat}}
<br><br>
@endif
<ul>
<li>{{$vehicle->brandname}}</li> <br>
</ul>
@endforeach
这显示数据如下,
汽车
丰田
121(2)
丰田
花冠(1)
宝马
520D(1)
面包车
日产
carvan(1)
涉
最大值(1)
但现在我需要改变一些东西,这意味着首先将类别名称赋予使用以下控制器功能,
$names = Vehicle::groupBy('categoryname')->select('id', 'categoryname', \DB::raw('COUNT(*) as cnt'))->get();
和刀片文件
@foreach($names as $name)
<a href="{{ route('vehicles.brand') }}">{{$name->categoryname}}</a>
@endforeach
现在categorydata显示超链接如下,
汽车
面包车
现在我需要点击上面的categoryname,显示与 vehicles
表格中的categoryname相关的数据 . 以下控制器正在为汽车类别手动工作
$car = DB::table('vehicles')
->select('categoryname','brandname','modelname', DB::raw('count(*) as total'))
->orderBy('categoryname', 'asc')
->groupBy('modelname')
->where('categoryname', 'car')
->get();
return view('vehicles.bus')->withCar($car);
但是当点击上面的分类同名时,我无法找到如何在控制器中自动设置每个类别名称数据?你能给我一些解决方案吗?
1 回答
首先,问题不容易理解,您应该编辑它并使问题更容易理解 .
我的理解是你需要展示点击右上方链接
categoryname
的车辆?如果是这样,那么你必须改变你的一些代码 .
首先,你必须像这样将
categoryname
添加到你的网址然后在你的路线你必须有这样的东西
重要的是将路线param
{cat}
添加到您的路线,其余部分由您决定 .然后在你的控制器中你得到这样的参数
和presto,您现在通过
categoryname
过滤查询如果那不是您所需要的,请重新提出您的问题 .