2017-06-06 7 views
-3

私は、テキスト入力フィールドと送信ボタンを持つ単純な入力フォームを持っています。送信ボタンをクリックした後、入力欄から値を取得して同じページに再度表示しようとしています。今のところ、laravelは変数が未定義であるというエラーを常にスローします。コントローラからlaravelで表示する値を取得するにはどうすればいいですか?

ルート:

Route::get('/find/names', "[email protected]_name")->name('names'); 

コントローラ

public function get_name(){ 
     $name = Input::get('name_by_user'); 
     return $name; 
    } 

ビュー

あなたが同じビューを返す必要が
 <form role="form" method="GET"> 
        <div class="row"> 
         <div class="form-group"> 
          <div class="input-group"> 
           <input type="text" name="name_by_user"/> 
           <span class="input-group-btn"> 
            <button class="btn search-button" type="submit"> 
            <span aria-hidden="true"> 
            <span>Search</span> 
            </button> 
           </span> 
           </span> 
          </div> 
         </div> 
        </div>   
       </form> 

    display name after submitting: {{$name}} 
+0

を提出。データを保存した後、そのビューにリダイレクト –

+0

どこにデータを保存していますか?それはここですか? $ name = Input :: get( 'name_by_user'); – Imi

+0

私は慎重に見て忘れてしまった。それをデータベースに保存すればより簡単になります –

答えて

1

私はこの

ような何かをするだろうルート

Route::name('names')->get('/find/names', "[email protected]_name"); 

コントローラ

public function get_name(){ 
    $collection = Input::all(); 
    $name = $collection->pluck('name_by_user'); 
    return view('view_file_in_resources', compact('name')); 
} 

今、あなたはあなたのビューで$namesコレクションを持っています。

しかし、あなたは一列のみの結果で取得したい場合は、あなたのコントローラは、次のようになります。

public function get_name($name){ 
    $name = Input::where('name_by_user', $name)->get(); 
    return view('view_file_in_resources', compact('name')); 
} 

そして、あなたのルートは、ちょうど別のビューを作る

Route::name('names')->get('/find/names/{name}', "[email protected]_name"); 
1

public function get_name(Request $request) 
{ 
    return view('same.view', ['name' => $request->name]); 
} 

それとも、戻ってリダイレクトすることができます

セッションデータを使用してのような
return redirect()->back()->with('name', $request->name); 

と表示名を:

@if (session()->has('name')) 
    {{ session('name') }} 
@endif 
+0

私はまだビューでそれを取得しません – Imi

2

ルートのコントローラ内部のビューを生成するとき、あなたが行うことができます存在するかどうかに応じてデータを含むビューを返す関数では、次のようになります。

public function showNameView() { 

    if(is_null(Input::get('name_by_user')) 
    { 

     return view('my.view')->with(['name' => Input::get('name_by_user')]); 

    } 
    else 
    { 

     return view('my.view')->with(['name' => Input::get('name_by_user')]); 

    } 

} 
+1

返さなければなりませんビュー( 'my.view') - > with(['name' => Input :: get( 'name_by_user')]); - 最後に別の閉じ括弧? – Imi

+0

はい、私の悪いはずです – DanTheDJ1

関連する問題