2017-06-06 130 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

should'nt它将返回view('my.view') - > with(['name'=> Input :: get('name_by_user')]); - 另一个结束? – Imi

+0

是的,它应该,我的坏 – DanTheDJ1

相关问题