【发布时间】:2016-04-16 02:02:13
【问题描述】:
完成我的第一个 Laravel 项目。感谢大家的帮助。
我有一个 SearchController 表示如果查询的计数大于 1,则转到提供的视图。
return view('pages/multi-providers')->with('data',$data)->with('city',$city)->with('state',$state)->with('provider',$provider)->with('zipcode',$zipcode);
我能够传递以这种简单方式创建的变量。但接下来的路线是 www.domain.com/search/?q=01035
所以我尝试将返回重定向到命名路由
return redirect()->route('multi-providers',[$zipcode])->with('data',$data)- >with('city',$city)->with('state',$state)->with('provider',$provider)->with('zipcode',$zipcode);
那么我的routes.php中的路由是
Route::get('multi-providers/{zipcode}', ['uses' => 'PagesController@multiProviders','as' => 'multi-providers'])->with('data',$data)->with('city',$city)->with('state',$state)->with('provider',$provider)->with('zipcode',$zipcode);
然后在我的 PageController@multiProviders 我有
public function multiProviders($zipcode)
{
$data['zipcode'] = $zipcode;
return view('pages/multi-providers')->with('data',$data)->with('city',$city)->with('state',$state)->with('provider',$provider)->with('zipcode',$zipcode);
}
路线开始工作,它确实显示为
www.domain.com/multi-provider/{zipcode}(acutally shows zip like 92804)
然后我收到一个错误,即 $city 和 $state 变量未定义。所以我尝试像公共函数中的邮政编码一样传递它们,但是它说它缺少一个参数。我猜是因为我在 url 中没有像 {city} 或 {state} 这样的额外参数。有没有办法在没有它们在 URL 中的情况下传递这些变量?或者以不同的方式存储它们。我可能会做得比它应该的更难。再次感谢您的时间和帮助。
【问题讨论】: