Ich weiß, dass dies eine sehr häufige Frage zum Stack-Überlauf ist. Ich habe einige davon versucht, aber in meinem Szenario funktioniert das nicht.
Mein CollectionController sieht so aus.
<?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));
}
}
Meine Routen für diese Klasse sind wie folgt
Route::controller('collection/home','CollectionController');
Route::controller('collection/payment','CollectionController');
Ich erhalte einen Fehler
NotFoundHttpException in RouteCollection.php line 161:
Keine der Routen funktioniert, kann mir einer helfen
Ich habe es mit versucht
http://localhost:8000/collection/home/
and
http://localhost:8000/collection/payment
Vielen Dank
Nun, es war ziemlich einfach
Im impliziten Anruf
Ich sollte die Route nur einmal definieren
Route::controller('collection','CollectionController');
wenn also in url collection/home geparst wird, ruft laravel automatisch die Funktion __. getHome () auf
Sie müssen die Route nur einmal definieren:
Route::controller('collection','CollectionController');
Und dann können Sie zu den Routen gehen, die Sie im Funktionsnamen des Controllers angeben.
Beispiel:
getHome. Die Route wird Abholung/Heimat sein
getZahlungen. Die Route wird Abholung/Zahlung sein
Ich habe genau die gleiche Ausnahmemeldung in laravel 5.4.10 erhalten, und nachdem ich etwa 2 Stunden verschwendet hatte, stellte ich fest, dass die Datei routes.php ab Version 5.3 entfernt wurde. Wir müssen die Datei in die RouteServiceProvider.php-Datei in der "map" -Funktion ..__ einfügen. Das Hinzufügen einer Zeile unterhalb der map - Funktion hat das Problem für mich behoben:
require app_path('Http/routes.php');
Dies ist die häufigste Ausnahme.
NotFoundHttpException in RouteCollection.php
Und es ist ziemlich leicht zu verstehen. Sie können es täuschen, wenn Sie den Routennamen falsch buchstabieren. __ Es kann aricles
anstelle von articles
und ähnliches sein.
Versuchen
php artisan route:list
Überprüfen Sie, ob alle Routennamen in Ordnung sind.
Überprüfen Sie den Namen der Route,
ob es groß oder klein ist.
Beispiel-> Wenn der Ordnername Test lautet und der Ansichtsname Kontakt lautet.
Wenn Sie schreiben -> localhost/testing/contact, handelt es sich um einen Fehler, da der Ordnername "testing" lautet und Sie ein kleines "testing" geschrieben haben.
Also musst du schreiben -> localhost/Testing/contact.
Und der Fehler ist behoben.