私はこれがスタックオーバーフローに関する非常に一般的な質問であることを知っていますが、そのうちのいくつかを試しましたが、私のシナリオでは機能しません。
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
ありがとう
まあそれはかなり簡単でした
暗黙の呼び出しで
ルートを一度だけ定義する必要があります
Route::controller('collection','CollectionController');
そのため、URLコレクション/ホームで解析される場合、laravelは自動的にgetHome()関数を呼び出します
ルートを1回だけ定義する必要があります。
Route::controller('collection','CollectionController');
そして、コントローラーの関数名で宣言したルートに移動できます。
例:
get ホーム。ルートはコレクション/ホームになります
get 支払い。ルートは回収/支払いになります
laravel 5.4.10でまったく同じ例外メッセージを受け取っていましたが、約2時間浪費した後、routes.phpが5.3以降のバージョンで削除され、ファイルを作成するだけでは不十分であることがわかりました。 「map」関数内のRouteServiceProvider.phpファイルにファイルを含める必要があります。map関数内に以下の行を追加すると、問題が解決しました。
require app_path('Http/routes.php');
これは最も一般的な例外です。
NotFoundHttpException in RouteCollection.php
そして、理解するのは非常に簡単です。ルート名のスペルを間違えた場合は、それをpeすことができます。 aricles
の代わりにarticles
を使用することもできます。
試してみる
php artisan route:list
そして、すべてのルート名に問題がないか確認します。
ルートの名前を確認し、
資本か小規模か。
例->フォルダ名がテストで、ビュー名が連絡先の場合。
書き込み-> localhost/testing/contactの場合、フォルダ名はテストであり、小さなテストを記述しているため、エラーになります。
したがって、-> localhost/Testing/contactと記述する必要があります。
そして、エラーが解決されます。