2016-07-05 5 views
0

У меня возникли проблемы с передачей значения от контроллера контроллеру. Я использовал следующий синтаксис: В BillController:Нельзя вернуть значение retirive из контроллера. Laravel

return redirect('pdf')->with($sid); 

В пути:

Route::get('pdf', '[email protected]'); 

В моей PdfController:

class PdfController extends Controller 
{ 

    public function invoice() 
    { 


     $student = Student::where('id',$sid)->first(); 
     foreach ($student->fees as $fee) { 

    $fees= $fee; 
} 

    } 

Что здесь проблема? Может кто-нибудь мне помочь?

ответ

0

Ok существует целый ряд способов передачи значений:

1. Флэш-Session сообщение (https://laravel.com/docs/5.2/session)

Прежде всего, необходимо установить ключ и значение с переадресацией:

// Method phpdoc - public function with($key, $value = null) 
return redirect('pdf')->with('sid', $sid); 

Доступ к входным значениям возможен через объект \ Illuminate \ Http \ Session:

// Have a look at the Session values - dd(Session::all()); 
$sid = Session::get('sid'); 

2. Форма представляет (https://laravel.com/docs/5.2/requests)

Если вы размещаете значения, вы можете получить доступ к ним через объект запроса

public function invoice(Request $request) 
    { 
     $sid = $request->get('sid'); 

3. Через URL

routes.php

Route::get('sid/{sid}, '[email protected]')->name('invoice); 

Перенаправление вызова (добавляет $ SID в маршрут):

return redirect()->route('invoice', [$sid]); 

Контроллер: Чтобы получить значение просто задать в контроллере.

public function index($sid) 
+0

Он ничего не возвращает. Когда я попытался вернуть значение с помощью: $ id = $ request-> get ('sid'); \t \t return $ id; Он показывает пустую страницу, не возвращая никакого значения. – Anon

+0

Извините, мой плохой. Думаю, теперь это должно сработать. Я также добавил некоторую информацию о передаче информации через URL-адрес, который может сработать и для вас. – Aine

 Смежные вопросы

  • Нет связанных вопросов^_^