使用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
我正在使用以下控制器功能来显示带有链接的类别名称
public function showcategoryname()
{
$names = Vehicle::groupBy('categoryname')->select('id', 'categoryname', \DB::raw('COUNT(*) as cnt'))->get();
return view('welcome')->withNames($names);
}
并在刀片文件中,
@foreach($names as $name)
<tr>
<th><a href="{{$name->categoryname}}"></a></th>
<td><span class="label label-info">{{$name->cnt}}</span></td>
</tr>
@endforeach
这正在打印我的类别名称,其链接如下
car
van
现在,当我单击以上类别名称时,需要显示其相关品牌名称吗?例如,当我单击car
类别名称时,页面应显示其品牌名称,例如toyota
bmw
,如何在控制器中做到这一点?
答案 0 :(得分:1)
似乎您是Laravel的新手,我建议您先阅读文档或一个很好的教程。如果您有问题,请先在文档中寻找解决方案,因为您是Laravel的新手,它将为您带来很多帮助。 Google永远是您的朋友。如果找不到您的问题的解决方案,请发布问题。
您应该在routes / web.php文件中定义一条路由
Route::get('brands-by-category/{categortName}', 'YourController@brandsByCategory')->name('brands.by.category');
然后您应该在YourController中编写一个方法。
public class YourController
{
..........
public function brandsByCategory($categoryName)
{
//your code here to get brands by category
}
..........
}
然后像这样更新您的前端代码
@foreach($names as $name)
<tr>
<th><a href="{{route('brands.by.category', $name->categoryname)}}">{{$name->categoryname}}</a></th>
<td><span class="label label-info">{{$name->cnt}}</span></td>
</tr>
@endforeach
当您要单击此页面中的类别名称时,会将您重定向到另一个页面,您应该在该页面上显示该特定类别的品牌。