2015-11-06 87 views
7

我知道這是堆棧溢出中非常常見的問題我嘗試了其中的幾個,但它在我的場景中不起作用。RouteFollection.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','CollectionController @ index'); Route :: controller('collection/payment','CollectionController @ payment'); –

+0

@LaljiNakum我得到了我的答案我正在使用隱式的方式,所以我不得不指定一個這樣的路線 'Route :: controller('collection','CollectionController'); 「它的工作正常,順便說一句,你有沒有anyidea我將如何調用一個模型,有一對多的關係? – Vikram

+0

嘿維克拉姆,如果你在這裏發佈你的答案以供將來參考。 –

回答

0

那麼這是很簡單的

在隱式調用

我應該在URL收集/回家,所以現在定義的路線只有一次

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

如果被解析那麼laravel會自動調用 getHome()函數

4

你必須定義只有一次的路線:

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

然後你可以去你的控制器的功能名稱聲明的路由。

例子:

得到首頁。該路線將收集/家

得到付款。該路線將收集/付款

0

我得到了完全相同的異常消息laravel 5.4.10和浪費大約2小時後,我發現routes.php已被刪除在5.3以後的版本,只是創建文件不是足夠。我們需要將文件包含在RouteServiceProvider.php文件內的「map」函數中。 添加以下線內地圖功能解決了這個問題對我來說:

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

這是最常見的例外。

NotFoundHttpException in RouteCollection.php 

而且這很容易理解。如果拼錯了路由名稱,可以使用它。 它可能是aricles而不是articles之類的東西。

嘗試

php artisan route:list 

,並檢查是否所有的路由名稱確定。

相關問題