web-dev-qa-db-ja.com

RouteCollection.php行161のNotFoundHttpException:laravel 5

私はこれがスタックオーバーフローに関する非常に一般的な質問であることを知っていますが、そのうちのいくつかを試しましたが、私のシナリオでは機能しません。

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','CollectionController');

そのため、URLコレクション/ホームで解析される場合、laravelは自動的にgetHome()関数を呼び出します

ルートを1回だけ定義する必要があります。

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

そして、コントローラーの関数名で宣言したルートに移動できます。

例:

get ホーム。ルートはコレクション/ホームになります

get 支払い。ルートは回収/支払いになります

laravel 5.4.10でまったく同じ例外メッセージを受け取っていましたが、約2時間浪費した後、routes.phpが5.3以降のバージョンで削除され、ファイルを作成するだけでは不十分であることがわかりました。 「map」関数内のRouteServiceProvider.phpファイルにファイルを含める必要があります。map関数内に以下の行を追加すると、問題が解決しました。

require app_path('Http/routes.php');
1
Varun Taliyan

これは最も一般的な例外です。

NotFoundHttpException in RouteCollection.php

そして、理解するのは非常に簡単です。ルート名のスペルを間違えた場合は、それをpeすことができます。 ariclesの代わりにarticlesを使用することもできます。

試してみる

php artisan route:list

そして、すべてのルート名に問題がないか確認します。

1
prosti

ルートの名前を確認し、

資本か小規模か。

例->フォルダ名がテストで、ビュー名が連絡先の場合。

書き込み-> localhost/testing/contactの場合、フォルダ名はテストであり、小さなテストを記述しているため、エラーになります。

したがって、-> localhost/Testing/contactと記述する必要があります。

そして、エラーが解決されます。

0
Sandeep Rana