【问题标题】:NotFoundHttpException in RouteCollection.php line 161: in laravel 5RouteCollection.php 第 161 行中的 NotFoundHttpException:在 laravel 5 中
【发布时间】:2019-10-17 16:29:30
【问题描述】:

我知道这是关于堆栈溢出的非常常见的问题,我尝试了其中的几个,但它在我的场景中不起作用。

我的 CollectionController 看起来像这样。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Middleware\Role;
use Illuminate\Support\Facades\Input;
use App\User;
use App\Invoice;
use Session;
use Validator;


    class CollectionController extends Controller
    {
        /**
         * Display a listing of the resource.
         *
         * @return Response
         */

      public function __construct(){

        $this->middleware('role:collector'); // replace 'collector' with whatever role you need.
    }


      public function getHome(){

          $empid= Auth::user()->empid;
          $invoice = Invoice::where('Status','=',1)->orderBy('Id', 'desc')->get();


        return View('collectionmodule/home')->with(array('invoices'=>$invoice));

     }

       public function getPayment(){

    dd('sssss');
             $id =$invoiceid;
             $invoice = Invoice::where('Id','=',$id)->payments()->comments()->get();

             return View('collectionmodule/payment')->with(array('invoice'=>$id));

     }




        }

我这个班的路线如下

Route::controller('collection/home','CollectionController');
Route::controller('collection/payment','CollectionController');

我收到以下错误

NotFoundHttpException in RouteCollection.php line 161:

所有的路线都不行,谁能帮帮我

我试过了

http://localhost:8000/collection/home/

and 

http://localhost:8000/collection/payment

谢谢

【问题讨论】:

  • 我认为您需要在路由中传递方法名称。如下所示: Route::controller('collection/home','CollectionController@index'); Route::controller('collection/payment','CollectionController@payment');
  • @LaljiNakum 我得到了答案我正在使用隐式方式,所以我必须分配一条像这样的路线Route::controller('collection','CollectionController'); 现在工作正常,顺便说一句,你知道我将如何调用具有一对多关系??
  • 嘿 Vikram,最好将您的答案发布在这里以供其他人参考。
  • @BharatGeleda 是的,我现在就发帖。
  • 请看一下这个答案,它可能会有所帮助stackoverflow.com/a/53943911/5068530

标签: php laravel-5 laravel-5.2


【解决方案1】:

你只需要定义一次路线:

Route::controller('collection','CollectionController');

然后你可以去你在控制器的函数名中声明的路由。

例子:

得到首页。路线将是 collection/home

获得付款。路线将是收款/付款

【讨论】:

    【解决方案2】:

    其实很简单

    在隐式调用中

    我应该只定义一次路线

    Route::controller('collection','CollectionController');
    

    所以现在在 url collection/home 如果被解析然后 laravel 会自动调用 getHome() 函数

    【讨论】:

      【解决方案3】:

      我在 laravel 5.4.10 中收到了完全相同的异常消息,在浪费了大约 2 小时后,我发现 routes.php 在 5.3 及更高版本中已被删除,仅创建文件是不够的。我们需要在“map”函数内的 RouteServiceProvider.php 文件中包含文件。 在 ma​​p 函数中添加以下行为我解决了这个问题:

      require app_path('Http/routes.php');
      

      【讨论】:

        【解决方案4】:

        这是最常见的例外。

        NotFoundHttpException in RouteCollection.php
        

        而且很容易理解。如果您拼错了路线名称,您可以欺骗它。 可能是aricles 而不是articles 之类的东西。

        试试

        php artisan route:list
        

        并检查所有路由名称是否正常。

        【讨论】:

          【解决方案5】:

          检查路线的名称,

          无论是大还是小。

          Example-> 如果文件夹名称是测试并且视图名称是联系。

          如果你写 -> localhost/testing/contact,那么这是一个错误,因为文件夹名称,即 Testing,而你写的是小 t,即 testing。

          所以你必须写 -> localhost/Testing/contact。

          错误就解决了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-02-01
            • 2016-07-03
            • 2016-10-13
            • 1970-01-01
            • 2018-07-29
            • 1970-01-01
            相关资源
            最近更新 更多