2016-12-14 26 views
0

我現在有在衛生組織提交laravel形式以下方法運行:如何在laravel中傳遞來自錨標籤的數據?

public function validateSave() { 
     $qualitycheck = new QualityCheck(); 
     $qualitycheck['site-name'] = Request::input('site-name'); 
     $qualitycheck['favicon'] = Request::has('favicon'); 
     $qualitycheck['title'] = Request::has('title'); 
     $qualitycheck['image-optimization'] = Request::has('image-optimization'); 
     $qualitycheck->save(); 
     Session::flash('quality-data', $qualitycheck); 
     return redirect('/'); 
    } 

所以我有以下線的數據傳遞到下一個頁面:

Session::flash('quality-data', $qualitycheck); 

但我會真正想做的是,提交表單的時候,我真的只是想顯示下一個頁面上的鏈接,這將被編碼就像這樣:

@if(Session::has('quality-data')) 
     <a href="">Submited Quality Check</a> 
@endif 

現在點擊鏈接,我想顯示一個視圖,其中包含用戶在表單中提交的所有數據,我該怎麼做? I.E.如何將數據表格從<a>傳遞到點擊<a>時會顯示的視圖?

所以只是把東西放進角度來看,這是它如何工作現在:

STEP-1 :: User submits form , data is flashed to next page. 
STEP-2 :: Data user submits is shown on this page. 

它是如何,我想工作:

STEP-1 :: User submits form , data is flashed to next page. 
STEP-2 :: A link is shown to the user(Only if user clicks on the link we move to the next step). 
STEP-3 :: Data user submited in first step is shown on this page. 

回答

1

下一次你的代碼,請遵循以下編碼慣例。

  1. 優選使用create()模型的功能。在一個變量中使用
  2. 就是把你所有的請求數據(如$input
  3. 傾向於使用路線的名稱,如route('route.name'),而不是內部redirection()函數字符串。

public function validateSave() { 
    $inputs = [ 
    'site-name' => request()->get('site_name'), 
    'favicon' => request()->has('facvicon'), 
    'title' => request()->has('title'), 
    'image-optimization' => request()->has('image-optimization') 
    ]); 

    $qualityCheck = QualityCheck::create($inputs); 

    $flashMessage = '<a href=' . route('quality.check.show', $qualityCheck) . '>Submitted Quality Check</a>' 

    Session::flash('quality-data', $flashMessage); 

    return redirect(route('home.index')); 
} 

取代你的功能,並確保你有你的路由文件這樣的事情。

Route::get('quality-check/{id}', 'QualityCheckController')->name('quality.check.show'); 

讓我知道,如果事情沒有工作...

+0

是最後一行得到一個視圖' - >名稱( 'quality.check.show');'?? –

+0

@AlexanderSolonik不,你只是給這個路線命名,所以你可以使用'route('quality.check.show',$ qualitycheck)'這樣的東西從任何地方調用它... – prateekkathal

+0

最後一件事兄弟,可以你鏈接到你的回答路由方法,因爲我似乎在laravel文檔中找到錯誤的路由方法。 –

0
try this one. 

<a href="{{url('routename')}}"> 
相關問題