单击Laravel 5.6中的类别名称时如何打印品牌名称

时间:2018-12-07 07:16:59

标签: php laravel-5

使用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,如何在控制器中做到这一点?

1 个答案:

答案 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 

当您要单击此页面中的类别名称时,会将您重定向到另一个页面,您应该在该页面上显示该特定类别的品牌。