Невозможно передать полный массив из контроллера в laravel в представление с помощью redirect () - PullRequest
0 голосов
/ 05 мая 2020

Я не могу решить проблему с передачей массива

ниже - моя функция в контроллере

public function fetchData($id)
{ 
    $id=base64_decode(urldecode($id));
prod_detail=ProductDetail::select('prod_id','supplier_id','price','open_stock','discount_rate','min_order_level')->where('prod_id','=',$id)->get();
    return redirect()->route('prod_d_view', compact($prod_detail));
}

ниже - мой маршрут

Route::get('/product_view', function(){
    return view('/admin/product_d_mgt');
})->name('prod_d_view');

ниже моя ошибка

Неопределенная переменная: prod_detail (View: \ admin \ product_d_mgt.blade. php)

Я не могу передать полный массив с одного контроллера с помощью redirect () -> route () в другое представление

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Может быть, вы можете использовать что-то вроде этого:

В вашей функции контроллера:

...
return Redirect::to('product_view')->with('prod_detail', $prod_detail);

И в вашем product_view.blade. php файле (в ресурсы / каталог просмотра):

@if(Session::has('prod_detail'))

     @foreach (Session::get('prod_detail')as $key => $value) 

     {{ $value->ColumnName }}
     {{ $value->ColumnName2 }}

     @endforeach

@endif
0 голосов
/ 05 мая 2020

Опечатка. Отсутствует символ $ перед именем переменной prod_detail .

правильная версия:

public function fetchData($id)
{ 
    $id = base64_decode(urldecode($id));
$prod_detail=ProductDetail::select('prod_id','supplier_id','price','open_stock','discount_rate','min_order_level')->where('prod_id','=',$id)->get();
    return redirect()->route('prod_d_view', compact($prod_detail));
}
...