2016-08-22 8 views
0

私は2つのルートを持っています。最初に働いていない人と2人目に働いている人私は最初に2番目のルートを入れて、それが働いていて、別のルートが働いていなければ。ここ は私のルートです:経路が正しく機能しない

ここ
Route::any('/class',[ 
'uses'=> '[email protected]', 
'as'=>'class',]); 

Route::any('/class',[ 
'uses'=> '[email protected]', 
'as'=>'class',]); 

私のコントローラは、次のとおりです。

public function getclass(Request $request) 
    { 
     if (Input::has('post_comment')) 
     { 
      $status=Input::get('post_comment'); 
      $commentBox=Input::get('comment_text'); 
      $selectedStatus=Status::find($status); 

      $selectedStatus->comments()->create([ 
      'comment_text'=>$commentBox, 
      'user_id'=>Auth::user()->id, 
      'status_id'=>$status 
      ]); 
      Flash::message('Your comments has been posted'); 
      return redirect(route('class')); 
     } 
     if(Input::has('status-text')) 
     { 
      $text=e(Input::get('status-text')); 
      $rules = [ 
      'status_text'=>'required|string', 
      ]; 
      $validator = Validator::make($request->all(), $rules); 


      if(Input::hasFile('status_image_upload')) 
      { 
       $rules['status_image_upload'] = 'image'; 
       $validator = Validator::make($request->all(), $rules); 
       if($validator->fails()) 
       { 
        $image = $request->file('status_image_upload'); 
        $imageName = str_random(8).'_'.$image->getClientOriginalName(); 
        $image->move('status_images', $imageName); 
        $userStatus = new Status(); 
        $userStatus -> status_text = $text; 
        $userStatus -> image_url = $imageName; 
        $userStatus -> type = 1; 
        $userStatus -> users_id = Auth::user()->id; 
        $userStatus -> save(); 
        Flash::success('Your status has been posted'); 
        return redirect(route('class')); 
       } 
      } 
      else if ($validator->fails()) 
      { 
       $userStatus = new Status(); 
       $userStatus -> status_text = $text; 
       $userStatus -> video_url = $request['video_url']; 
       $userStatus -> type = 2; 
       $userStatus -> users_id = Auth::user()->id; 
       $userStatus -> save(); 
       Flash::success('Your status has been posted'); 
       return redirect(route('classroom')); 
      } 
    } 


return view('class',[ 
'posts'=>status::orderBy('id','DESC')->get() 
]);} 

もう1

public function showclass(Request $request) 
    { 
     $randomnumber = rand(50001,1000000); 

     $classrooms = new Classrooms(); 
     $classrooms->class_name = $request['class_name']; 
     $classrooms->subject_name = $request['subject_name']; 
     $classrooms->section = $request['section']; 
     $classrooms->class_code = $randomnumber; 
     $classrooms -> user_id = Auth::user()->id; 
     $classrooms -> save(); 
     return view('class', array('class' => Auth::user())); 
    } 

今何をするべきか?私は私の牽引urlが問題であると同じであると思う。私が正しければどうすればこの問題を解決することができますか?

答えて

0

問題はRoute::any()を使用していることです。名前が示唆するように、それはすべての要求を受け入れる

POSTGETPUTPATCHDELETE/class URI及びプロセスに与えられた制御機能を有すること。あなたのケースでは

、あなたが最初にこれを持っている:

Route::any('/class',[ 
'uses'=> '[email protected]', 
'as'=>'class',]); 

/classへのすべての要求は自分のフォームの提出を含め、getClassによって処理されています。

これは、最初に使用されているものを最初に置くとうまく動作します。

Route::any()を実際にリクエストするタイプに変更してみてください。例えば

、このような何か:

Route::get('/class',[ 
'uses'=> '[email protected]', 
'as'=>'class',]); 

Route::post('/class',[ 
'uses'=> '[email protected]', 
'as'=>'class',]); 

** NOTE:あなたは常にマッチする最初のルートと同様の方法タイプの2つ(例えばGET)に同じURIを(例えば/class)を使用することはできませんまず使用してください。

+0

私はそれを使用しましたが、それでも同じ問題です。 – Shuvo

+0

新しいルートを教えてもらえますか? – James

+0

私の新しいルートは:Route :: get( '/ class'、[ 'use' = 'classroom @ getclass'、 '=>' class '、]); Route :: post( '/ class'、[ 'は' classroom @ showclass '、 を' => 'class'、])として使用します。今私のエラーは未定義変数です:posts(表示:C:\ xampp \ htdocs \ myproject11 \ resources \ views \ class.blade.php)ですが、データが挿入されています。 – Shuvo

関連する問題