列出特定项目并显示值 Laravel
List a specific item and display values Laravel
请问如何改进下面的代码。我从数据库中提取汽车品牌,然后将它们写入索引模板中。如果用户单击特定品牌,则只会显示该品牌的汽车。我想使用变量或循环改进代码,并且我需要帮助,因此我至少附上了我已经编写的内容的最小工作示例。
汽车控制器
public function index()
{
$cars = Car::latest()->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}
public function renault()
{
$cars = Car::select()->where('znacka', 'Renault')->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}
index.blade.php
<div class="list-group mb-5">
<a href="{{url('cars')}}" class="list-group-item">Vše</a>
@foreach($carsgroup as $group)
<a href="{{str_replace('S','Š',ucfirst(strtolower($group->znacka))) }}" class="list-group-item">{{ $group->znacka }}</a>
@endforeach
</div>
路线
Route::get('Renault', 'CarController@renault');
在您的 routes/web.php
中,您可以像这样添加一个 additional parameter
。如果你想要另一个 url 结构,你可能需要稍微调整一下:
Route::get('cars/{brand}', 'CarController@carsbybrand');
这个parameter
可以在你的controller
中像这样访问:
public function carsbybrand( $brand )
{
$cars = Car::select()->where('znacka', $brand)->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}
请问如何改进下面的代码。我从数据库中提取汽车品牌,然后将它们写入索引模板中。如果用户单击特定品牌,则只会显示该品牌的汽车。我想使用变量或循环改进代码,并且我需要帮助,因此我至少附上了我已经编写的内容的最小工作示例。
汽车控制器
public function index()
{
$cars = Car::latest()->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}
public function renault()
{
$cars = Car::select()->where('znacka', 'Renault')->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}
index.blade.php
<div class="list-group mb-5">
<a href="{{url('cars')}}" class="list-group-item">Vše</a>
@foreach($carsgroup as $group)
<a href="{{str_replace('S','Š',ucfirst(strtolower($group->znacka))) }}" class="list-group-item">{{ $group->znacka }}</a>
@endforeach
</div>
路线
Route::get('Renault', 'CarController@renault');
在您的 routes/web.php
中,您可以像这样添加一个 additional parameter
。如果你想要另一个 url 结构,你可能需要稍微调整一下:
Route::get('cars/{brand}', 'CarController@carsbybrand');
这个parameter
可以在你的controller
中像这样访问:
public function carsbybrand( $brand )
{
$cars = Car::select()->where('znacka', $brand)->get();
$carsgroup = Car::whereNotNull('znacka')->groupBy('znacka')->orderBy('znacka', 'ASC')->get();
return view('cars.index')
->with('cars', $cars)
->with('carsgroup', $carsgroup);
}