我知道这是关于堆栈溢出的一个非常常见的问题我尝试了很少但它在我的场景中不起作用。
我的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 :(得分:4)
您只需要定义一次路线:
Route::controller('collection','CollectionController');
然后你可以转到你在控制器的函数名中声明的路径。
示例:
获取的首页即可。路线将是收集/家庭
获取的付款即可。该路线将是收款/付款
答案 1 :(得分:1)
那很简单
In Implicit call
我应该只定义一次路线
Route::controller('collection','CollectionController');
所以现在在url collection / home中如果被解析,那么laravel会自动调用 getHome()函数
答案 2 :(得分:1)
我在laravel 5.4.10中得到了完全相同的异常消息,在浪费了大约2个小时后,我发现routes.php已经在5.3版本中删除了,只是创建文件是不够的。我们需要在“map”函数里面的RouteServiceProvider.php文件中包含文件。 在地图功能中添加以下内容解决了我的问题:
require app_path('Http/routes.php');
答案 3 :(得分:1)
这是最常见的例外。
NotFoundHttpException in RouteCollection.php
这很容易理解。如果拼错路线名称,你可以欺骗它。
它可能是aricles
而不是articles
等等。
尝试
php artisan route:list
并检查所有路线名称是否正常。
答案 4 :(得分:0)
检查路线名称,
是资本还是小资本。
示例->如果“文件夹名称”为“测试”而视图名称为“联系人”。
如果您编写-> localhost / testing / contact,那么这是错误的,因为文件夹名称即Testing,而您编写的字体也较小。
所以您必须编写-> localhost / Testing / contact。
错误已解决。