重定向到具有多个模型对象的路由 - Laravel
Redirect to Route with Multiple Model Objects - Laravel
我正在尝试重定向到我在 Laravel 4.2 中设置的路由,并将多个模型对象传递给它。
我的控制器中有一个search
功能
function search()
{
//do search things
if($type=="sale")
{
return Redirect::route('saleSearchResults')->withResults($results);
}elseif($type=="rent")
{
return Redirect::route('rentSearchResults')->withResults($results);
}
}
$results
变量是从对数据库执行搜索查询返回的,它包含一个列表模型对象的多个实例。无论如何我可以将这些结果传递给路线吗?
我知道我可以传递模型的单个实例(模型绑定)以及单个参数,但我似乎无法传递模型的多个实例。
我想这样做的原因是因为我有一条搜索路径可以转到我的 search
函数。
然后我希望搜索结果根据搜索类型转到不同的 url。
搜索表单帖子到 /search
促销搜索的结果显示在 /for-sale/search-results/
租金搜索结果显示在 /for-rent/search-results/
有什么办法可以做到这一点吗?
withResults()
对我来说似乎是正确的方法。它将变量存储在一个请求的会话中,您可以通过以下方式在另一个控制器中检索它:
$results = Session::get('results');
我正在尝试重定向到我在 Laravel 4.2 中设置的路由,并将多个模型对象传递给它。
我的控制器中有一个search
功能
function search()
{
//do search things
if($type=="sale")
{
return Redirect::route('saleSearchResults')->withResults($results);
}elseif($type=="rent")
{
return Redirect::route('rentSearchResults')->withResults($results);
}
}
$results
变量是从对数据库执行搜索查询返回的,它包含一个列表模型对象的多个实例。无论如何我可以将这些结果传递给路线吗?
我知道我可以传递模型的单个实例(模型绑定)以及单个参数,但我似乎无法传递模型的多个实例。
我想这样做的原因是因为我有一条搜索路径可以转到我的 search
函数。
然后我希望搜索结果根据搜索类型转到不同的 url。
搜索表单帖子到 /search
促销搜索的结果显示在 /for-sale/search-results/
租金搜索结果显示在 /for-rent/search-results/
有什么办法可以做到这一点吗?
withResults()
对我来说似乎是正确的方法。它将变量存储在一个请求的会话中,您可以通过以下方式在另一个控制器中检索它:
$results = Session::get('results');