【问题标题】:Search function get [route not defined error] in Laravel8搜索功能在 Laravel 8 中获取 [路由未定义错误]
【发布时间】:2021-09-18 12:47:35
【问题描述】:

我正在研究搜索功能。 我使用 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"> 

【问题讨论】:

  • 你从哪里得到这个错误 - 路线 [products.order] 未定义? (文件,行)
  • 你还没有定义路由...存在的是products.search而不是products.order...
  • 亲爱的@Ryan Nghiem 谢谢你的帮助我收到了这个错误127.0.0.1:8000/products/search
  • 亲爱的@matiaslauriti 谢谢。是的,我可以看到它说未定义,但我不知道如何。请教我在哪里修好吗?
  • 这能回答你的问题吗? Laravel route not defined error

标签: laravel


【解决方案1】:

根据您的发布操作,您实际上是在要求使用未在路由中分配的路由名称“搜索”执行操作,因此它是未定义的。您可以尝试如下更改吗?

Route::get('products/search', [ProductController::class, 'search'])->name('search');

【讨论】:

  • 亲爱的@Sanni 非常感谢您!效果非常好,谢谢!
猜你喜欢
  • 2022-01-06
  • 2017-11-23
  • 2018-06-27
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 2021-05-01
相关资源
最近更新 更多