2015-11-06 16 views
7

これはスタックオーバーフローに関するよくある質問ですが、私はそれらのいくつかを試しましたが、私のシナリオでは機能しません。RouteCollection.php行のNotFoundHttpException 161:laravel 5

My 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 

おかげ

+0

私はあなたがルートでメソッド名を渡す必要があると思います。以下のようになります。 Route :: controller( 'collection/home'、 'C​​ollectionController @ index'); ルート::コントローラ( 'collection/payment'、 'C​​ollectionController @ payment'); –

+0

@LaljiNakum私は私の答えを得ました暗黙の方法を使用しているので、このようなルートを1つだけ割り当てる必要があります 'Route :: controller( 'collection'、 'C​​ollectionController'); 'うまく働いている、Btwあなたは1対多の関係を持つモデルをどのように呼び出すのか? – Vikram

+0

こんにちはVikram、あなたが他の人のための将来の参考のためにあなたの答えをここに掲示するのが最善でしょう。 –

答えて

0

まあそれは暗黙の呼び出しでは

かなり簡単だった

解析されている場合、私はURL収集/家庭で今では一度だけ

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

をルートを定義する必要がありますlaravelが自動的に呼び出す getHome()関数

4

あなたは一度だけのルートを定義する必要があります。

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

をそしてあなたは、コントローラの機能名で宣言したルートに行くことができます。

例:

ホームを取得します。ルートは、コレクション/家になります

get お支払い

0

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

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

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

NotFoundHttpException in RouteCollection.php 

これはかなりわかりやすいです。あなたがルート名のスペルを間違えた場合、それを抹消することができます。 articlesの代わりにariclesのようなものがあります。

php artisan route:list 

を試してみて、すべてのルート名がOKかどうか確認してください。