2016-10-25 7 views
1

私はLaravel 5.3を使用しています。フォームを送信しようとしているときにこのエラーが発生しています。私はlaravelcollective/htmlを使いました。ここに私のコードです:Route.php行339のReflectionException:クラスApp Http Requests CreateTenantRequestがLaravel 5.3に存在しません

ルート/ web.php

Route::resource('add-new-tenant', 'SuperAdmin\TenantController'); 

Route::resource('new-tenant', 'SuperAdmin\[email protected]'); 

コントローラ:私はフォームを検証するための要求を作成している

<?php 

namespace App\Http\Controllers\SuperAdmin; 

use App\Tenant; 

use App\Http\Requests; 
use App\Http\Requests\CreateTenantRequest; 
use App\Http\Controllers\Controller; 

class TenantController extends Controller 
{ 
/** 
* Display a listing of the resource. 
* 
* @return \Illuminate\Http\Response 
*/ 
public function index() 
{ 
    return view('pages.superadmin.add-new-tenant'); 
} 

/** 
* Store a newly created resource in storage. 
* 
* @param \App\Http\Requests\CreateTenantRequest $request 
* @return \Illuminate\Http\Response 
*/ 
    public function store(CreateTenantRequest $request) 
    { 
    Tenant::create($request->all()); 

    return redirect('add-new-tenant'); 
    } 

} 

。コードは以下の通りである:

アプリ/ HTTP /要求/ CreateTenantRequest.php

​​

私はフォームを送信していたとき、私はこのエラーを取得しています。

ReflectionException in Route.php line 339: 
Class App\Http\Requests\CreateTenantRequest does not exist 

私はCreateTenantRequestを宣言におけるいくつかの問題がある知っているが、私は行方不明です何私を助けてください。

ありがとうございます。

答えて

1

それはすべて私によく見えます。私の推測では、Requestsはあなたのオートローダーに追加されていないということです。あなたはlaravelは、あなたが知っているものがある、とあなたが正しくあなたのクラスに含まれている見ることができます見つけることができない旨のメッセージを取得するたびに最初に行うべきことは、オートローダをダンプすることです:

composer dump-autoload

+0

私は、作者dump-autoloadを使用しようとしましたが、そのエラーをスローするのがリターンコード0で失敗し、自動ロードファイルの生成というメッセージを生成しませんでした。これで私を助けることができますか? –

+0

実際のメッセージやプロジェクトの設定方法を見ずにコンポーザーの問題をデバッグするのは難しいです。 'laravel'では作曲者が' PSR-4'を使いますので、 'namespace 'があなたのフォルダ構造に合っていることを確認する価値があります。 –

+0

ご協力いただきありがとうございます。私はそれを徹底的に調べます。 –

4

それはちょうどでした私のせいで、私はこれを見たときに壁に頭をぶつけたが、私はこれで4時間を無駄にし、これに気付かなかった。唯一の誤差はCreateTenantRequest.phpで

'tenant_email' => 'required|email', 

後に行方不明カンマ(、)ました。ここにあります:

public function rules() 
{ 
    return [ 
    'tenant_company_name' => 'required', 
    'tenant_name' => 'required', 
    'tenant_email' => 'required|email', 
    'tenant_domain' => 'required', 
    'tenant_database' => 'required' 
    ]; 
} 

ご協力ありがとうございました。それは私のせいでした。

0

@Aishaカムランの答えに同意します。このエラーメッセージは、カスタムフォーム要求に構文エラーがある場合に発生します。本当に役立つエラーメッセージではありません。

関連する問題