Laravel — передача переменных в контроллер

Я передаю 2 случайных числа от контроллера для просмотра с формой:

public function request()
{
$number1 = rand(10,20);
$number2 = rand(0,10);
return View::make('request', ['num1' => $number1, 'num2' => $number2]);
}

Эти 2 числа отображаются в форме:

{{ Form::open(array('action' => 'MyController@verifyRequest', 'class'=>'bg-grey width')) }}
{{ Form::label('Check sum: ') }}
{{ Form::label($num1. ' + '. $num2. ' = ') }}
{{ Form::text('checksum') }}
{{ Form::close() }}

Теперь, как я могу передать эти две переменные в метод контроллера ‘verifyRequest’, чтобы проверить сумму чисел?

public function verifyRequest()
{
$sum = ???

0

Решение

Вы можете поместить эти данные в сеанс (что может быть лучшим решением) или добавить скрытые поля в форму:

{{ Form::hidden('num1', $num1) }}
{{ Form::hidden('num2', $num2) }}

и теперь в вашем контроллере вы можете использовать:

$sum = Input::get('num1') + Input::get('num2');
1

Другие решения

Вы можете вставить num1 а также num2 сумма результата в session и проверить в verifyRequest метод.

1

  {{ Form::open(array('action' => 'MyController@verifyRequest', 'class'=>'bg-grey width')) }}
{{ Form::label('Check sum: ') }}
{{ Form::label($num1. ' + '. $num2. ' = ') }}
{{ Form::text('checksum') }}
{{ Form::hidden('num1', $num1) }}
{{ Form::hidden('num2', $num2) }}
{{Form::submit('Click Me!');}}
{{ Form::close() }}

в контроллере

 public function verifyRequest()
{
$num1 = $_POST['num1'];
$num2 = $_POST['num2']
$checksum = $_POST['checksum']
//Do whatever you want
}
0