Php 将数组传递给laravel中的Redirect::action
我试图在laravel中将数组从一个函数传递到另一个函数 在我的Php 将数组传递给laravel中的Redirect::action,php,laravel,laravel-4,Php,Laravel,Laravel 4,我试图在laravel中将数组从一个函数传递到另一个函数 在我的PageController.php中,我有 public function show($code, $id){ //some code if(isset($search)) dd($search); } 还有一个功能 public function search($code, $id){ //some queries $result = DB::table('abd')->get(); return Red
PageController.php
中,我有
public function show($code, $id){
//some code
if(isset($search))
dd($search);
}
还有一个功能
public function search($code, $id){
//some queries
$result = DB::table('abd')->get();
return Redirect::action('PageController@show, ['search'=>$search]);
}
但这会返回一个类似这样的错误:ErrorException(E_UNKNOWN)
数组到字符串的转换
我用的是拉威尔 您可以让它通过序列化来传递URL,但我更愿意将其存储在会话变量中。session类有一个很好的方法叫做
flash
,它将为下一个请求保留变量,然后自动删除它
另外,这只是一个猜测,您可能需要使用index
操作,因为show
需要特定资源的id
public function search($code, $id){
//some queries
$result = DB::table('abd')->get();
Session::flash('search', $search); // or rather $result?
return Redirect::action('PageController@index');
}
public function index($code){
//some code
if(Session::has('search')){
$search = Session::get('search');
dd($search);
}
}
不能通过URL传递数组。另外-如果在show()代码中甚至不接受$search变量,则无法将$search传递给show()。第二个代码块中存在语法错误。