web-dev-qa-db-fra.com

NotFoundHttpException dans RouteCollection.php, ligne 161: dans laravel 5

Je sais que c'est une question très courante sur le dépassement de capacité de la pile. J'ai essayé quelques-unes d'entre elles mais cela ne fonctionne pas dans mon scénario.

Mon CollectionController ressemble à ceci.

<?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));

     }




        }

Mes itinéraires pour cette classe sont les suivants

Route::controller('collection/home','CollectionController');
Route::controller('collection/payment','CollectionController');

Je reçois l'erreur suivante

NotFoundHttpException in RouteCollection.php line 161:

Aucune des routes ne fonctionne, personne ne peut m'aider 

J'ai essayé avec 

http://localhost:8000/collection/home/

and 

http://localhost:8000/collection/payment

Merci 

8
Vikram

Eh bien c'était assez simple 

En appel implicite

Je devrais définir l'itinéraire une seule fois 

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

alors maintenant, dans url collection/home si elle est analysée, Laravel appellera automatiquement la fonction. 

1
Vikram

Vous devez définir une seule fois la route:

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

Et ensuite, vous pouvez accéder aux routes que vous déclarez dans les fonctions du contrôleur.

Exemple:

getAccueil. L'itinéraire sera collection/home

getPaiements. L'itinéraire sera la collecte/paiements

Je recevais exactement le même message d’exception dans laravel 5.4.10 et après avoir perdu environ 2 heures, j’ai découvert que routes.php avait été supprimé de la version 5.3 et que la création d’un fichier ne suffisait pas. Nous devons inclure le fichier dans le fichier RouteServiceProvider.php dans la fonction "map" . L'ajout de la ligne ci-dessous dans la fonction map a résolu le problème pour moi:

require app_path('Http/routes.php');
1
Varun Taliyan

C'est l'exception la plus courante.

NotFoundHttpException in RouteCollection.php

Et c'est assez facile à comprendre. Vous pouvez le duper si vous orthographiez mal le nom de la route . Il peut s'agir de aricles au lieu de articles et ainsi de suite.

Essayer 

php artisan route:list

Et vérifiez si tous les noms de route sont corrects.

1
prosti