Я действительно новичок в Laravel, и я не уверен, что знаю, что делаю. У меня есть форма в моем основном виде. Я передаю ввод в контроллер и хочу, чтобы данные отображались в другом представлении. Я не могу получить массив из контроллера во второй вид. Я продолжаю получать 500 hphp_invoke. Здесь я передаю массив из контроллера в view2.
public function formSubmit()
{
if (Input::post())
{
$name = Input::get('name');
$age = Input::get('age');
$things = array($name, $age);
return View::make('view2', array('things'=>$things));
}
}
view1.blade.php
{{ Form::open(array('action' => 'controller@formSubmit')) }}
<p>{{ Form::label('Name') }}
{{ $name = Form::text('name') }}</p>
<p>{{ Form::label('Age') }}
{{ $age = Form::text('age') }}</p>
<p>{{ Form::submit('Submit') }}</p>
{{ Form::close() }}
Мой файл view2.php действительно прост.
<?php
echo $name;
echo $age;
?>
Тогда в rout.php
Route::get('/', function()
{
return View::make('view1');
});
Route::post('view2', 'controller@formSubmit');
Почему это не работает?
пытаться с()
$data = array(
'name' => $name,
'age' => $age
);
return View::make('view2')->with($data);
на просмотр получите: —
echo $ data [‘name’];
echo $ data [‘age’];
или же
return View::make('view2')->with(array('name' =>$name, 'age' => $age));
получить на виду: —
echo $name;
echo $age;
Для более Следуйте Вот
Вам необходимо использовать:
return View::make('view2')->with(['name' => $name, 'age' => $age]);
использовать
$name
а также $age
в вашем шаблоне
поскольку $things
уже array
поэтому вы можете использовать следующий подход, но сделать массив ассоциативным:
$name = Input::get('name');
$age = Input::get('age');
$things = array('name' => $name, 'age' => $age);
return View::make('view2', $things);
Таким образом, вы можете получить доступ $name
а также $age
в вашем view
, Также вы можете попробовать это:
return View::make('view2')->with('name', $name)->with('age', $age);
В вашем контроллере используйте
return View::make('view2')->with($things);
По вашему мнению, теперь вы можете получить доступ к каждому атрибуту, используя
@foreach($things as $thing)
<p>{{ $thing->name }}</p>
<p>{{ $thing->age }}</p>
@endforeach