当前位置: 首页 > 知识库问答 >
问题:

拉威尔从邮局到错误路线

卫君博
2023-03-14

使用我的应用程序,我有一个订单视图,搜索表单如下

@include('inc.header')

@yield('content')

<form class="needs-validation" method="post" action="{{url('/wapp/orders/search')}}">
    @csrf
        <div class="input-group mb-3">
                <div class="input-group-prepend">
                  <button class="btn btn-outline-primary" type="submit">Search</button>
                </div>
                <input type="text" class="form-control" placeholder=" Search By Order ID" name="oid">
        </div>
</form><br>

OrderController搜索功能:

public function search(Request $request)
    {
        $order = DB::table('orders')
                        ->join('users as a','a.uid', '=','orders.sender_uid')
                        ->join('users as b','b.uid', '=','orders.receiver_uid')
                        ->select('orders.oid','orders.price','orders.status','a.name as sender','b.name as receiver')
                        ->where('oid','=' , $request->oid)
                        ->first();

        if($order){
            return view('pages.search')->with('order',$order);
        }else{
            return back()->with('error','Order Not Found');

        }

    }

它成功地按ID查找订单,并在“搜索”视图上用表显示其结果。

我还在搜索视图中包含了相同的搜索表单,以防用户想要搜索更多订单,

@include('inc.header')

@yield('content')


<form class="needs-validation" method="post" action="{{url('/wapp/orders/search')}}">
    @csrf
        <div class="input-group mb-3">
                <div class="input-group-prepend">
                  <button class="btn btn-outline-primary" type="submit">Search</button>
                </div>
                <input type="text" class="form-control" placeholder=" Search By Order ID" name="oid">
        </div>
</form><br>


@if ($order)


        <table class="table">
                <thead class="thead-dark">
                  <tr>
                    <th scope="col">Price</th>
                    <th scope="col">OID</th>
                    <th scope="col">Name</th>
                    <th scope="col">Province</th>
                    <th scope="col">Action</th>
                  </tr>
                </thead>
                <tbody>


                            <tr>
                            <td class="bg-success">{{$order->price}}</td>
                            <td>{{$order->oid}}</td>
                                <td>{{$order->sender}}</td>
                                <td>{{$order->receiver}}</td>
                                <td><a class="btn btn-primary" href="{{url('wapp/orders/'.$order->oid)}}" role="button">Link</a></td>
                            </tr>


                </tbody>
              </table><br>

@endif






@include('inc.footer')

这是我的路线:

Route::group(
    [           
        'namespace' => 'V1',
        'prefix' => 'wapp',
    ], function(){

        Route::get('/', 'LoginController@index');
        Route::post('/', 'LoginController@login');
        Route::get('/orders', 'OrderController@index');
        Route::post('/orders/search', 'OrderController@search');
        Route::get('/orders/{oid}', 'OrderController@show');

        Route::patch('/orders/{oid}', 'OrderController@update');
        Route::get('/region','RegionController@index');


});

我的问题是当用户输入一个错误的订单ID或只是按搜索按钮应用程序将重定向到OrderController@show这是订单详细信息按钮路由表??!!为什么会发生这种事

注意:如果用户提供有效的订单ID,一切正常!

任何想法都将不胜感激

共有1个答案

姜玉泽
2023-03-14

如果您正在修改浏览器URL,然后按enter键,则会将您重定向到订单详细信息页面,因为这是一个get请求和on get请求,您将返回订单详细信息,并且您的搜索方法在POST方法上定义,该方法应仅在发出POST请求时有效,而您只能通过提交表单来发出POST请求。

此外,如果您做得正确,那么运行以下命令将有所帮助。

php artisan route:clear
 类似资料:
  • 我目前正在研究构建SaaS构建管理工具。我想知道的是,如果我使用laravel passport作为api令牌,我如何为用户分配角色,例如: SuperAdmin:可以创建项目|可以创建新用户并为用户分配角色。 管理员:可以查看项目。 因为我希望能够根据用户权限隐藏前端上的元素。 例如,如果我使用传统的laravel应用程序,我可以使用委托和刀片指令@role('admin')来显示基于用户权限类

  • 如何获取用户当前所在的路由?我需要它来隐藏导航栏链接,如果用户当前在链接通向的路线上。

  • 我对拉威尔望远镜的部分有点困惑。 我有一个用户模型和表。 如何为用户分配用户、客户和/或管理员的角色。 我有一个带有vue和laravel api后端的水疗中心。我用https://laravel.com/docs/5.3/passport#consuming-使用javascript创建api 我如何分配哪个用户模型具有哪些作用域? 还是范围与角色不同? 您将如何实现这一点? 提前谢谢!

  • 我需要以编程方式获取所有路由的路径列表。 我尝试了-在L5中不工作-不是静态方法。 我敢打赌,我可以从获取,但我不知道怎么做。

  • 我对Laravel截断的数据有一个小问题。我将传递给我的后端值,该值可以是表中定义的“百分比”或“金额”,但在表中也可以为null,但每次尝试将其设置为null时,都会出现如下错误: {"discount_currency":["您输入的值无效。"]} 或者当我从处理请求中删除enum时,它会说 所以我传递数据抛出API从我的Vue,这个婴儿车的请求看起来像: 所以如果我删除...我有第二个错误。

  • 我正在构建一个Laravel web应用程序,其中我需要一个动态图像库,我构建了一个后端管理面板,可以在其中添加图像,我成功地将图像添加并保存到数据库中,但我无法编辑或删除它们。 错误是: UrlGenerationException中的ErrorException。php第17行:缺少[Route:galleries.update][URI:backend/galleries/{gallery}