2016-12-14 83 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')}}"> 
相关问题