laravel - 搜索功能在 Laravel8 中获取 [路由未定义错误]
问题描述
我正在研究搜索功能。我使用 Laravel 框架 8.48.2
我之前在 Laravel5 做过搜索功能,效果很好。这次我在当前的 Laravel8 项目中使用了相同的代码,但出现了这个错误
路线 [products.order] 未定义
你能教我正确的代码吗?
WEB.php
Route::get('products/search', [ProductController::class, 'search']);
Route::post('products/search', [ProductController::class, 'order'])->name('products.search');
控制器
//search page
public function search()
{
$products = Product::get();
return view('products.search',compact('products'))
->with('i', (request()->input('page', 1) - 1) * 5);
}
//result page
public function order(Request $request)
{
$data = $request->all();
$images = Product::when($data['color'], function ($query, $color) {
return $query->where('color', $color);
})->
when($data['w_m'], function ($query, $w_m) {
return $query->where('w_m', $w_m);
})->get();
return view('products.result', compact('products'));
}
search.blade.php(仅表单动作部分)
<form action="{{ route('search') }}" class="form-image-upload" method="POST" enctype="multipart/form-data">
解决方案
根据您的发布操作,您实际上是在要求使用未在路线中分配的路线名称“搜索”执行操作,因此它是未定义的。您可以尝试更改如下吗?
Route::get('products/search', [ProductController::class, 'search'])->name('search');
推荐阅读
- java - 用单个字母替换所有双倍或三倍的字母
- angular - JhiEventManager 多个订阅
- laravel - 如何在laravel中插入多条记录而不循环
- node.js - 使用 npm 安装 bassaudio 库时出现问题
- php - Docusign PHP 在尝试获取令牌时获取“invalid_grant:unsupported_grant_type”(JWT auth)
- mysql - 如何获取单级传销树的团队总数
- c - C 从中缀字符串中提取数字
- python - 过滤以 csv 命名的图像
- php - 无法识别“提交表单”的 isset() 函数
- yaml - Jinja2 模板:rejectattr 属性等于不工作