Я пытаюсь передать массив из функции в другую функцию в 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 Redirect::action('PageController@show, ['search'=>$search]); }
Но это возвращает мне такую ошибку: ErrorException (E_UNKNOWN) Array to string conversion
Я использую laravel.
Возможно, вы можете заставить его работать с передачей по URL-адресу путем сериализации, но я предпочитаю хранить его в переменной сеанса. Класс сеанса имеет этот хороший метод, называемый flash
который сохранит переменную для следующего запроса и затем автоматически удалит ее.
Кроме того, и это просто предположение, вам, вероятно, нужно использовать для этого действие index
, поскольку для show
требуется идентификатор определенного ресурса.
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); } }