2015-11-06 90 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 

,并检查是否所有的路由名称确定。

相关问题