我从控制器接收到一个数组,以使用@foreach
刀片循环将其映射,但是在插入数据库后,当我要将应用程序重定向到索引刀片文档时,错误出现:
这是我的控制者:
public function store(Request $request)
{
//
$libro = new Libro;
$libro->titulo = $request->titulo;
$libro->save();
return view('libros.index');
}
这是我的观点:
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Titulo</th>
</tr>
</thead>
<tbody>
@foreach ($libros as $libro)
<tr>
<td>{{ $libro->id }}</td>
<td>{{ $libro->titulo }}</td>
</tr>
@endforeach
</tbody>
</table>
我希望控制器方法重定向将我正确地发送到视图,但是每次我向数据库输入寄存器时,控制器将我重定向到刀片视图时,就会出现此错误,我必须重新加载页面才能进入视图。
答案 0 :(得分:0)
在存储方法中,您要么将用户重定向到索引页面,要么再次检索并传递所有libros
数组。
首选前一种方式。
假设您为路线指定了名称,则可以执行以下操作:
public function store(Request $request)
{
$libro = new Libro;
$libro->titulo = $request->titulo;
$libro->save();
return redirect()->route('libros.index'); // replace libros.index with the index route name
}
答案 1 :(得分:0)
如果您这样重写,我认为它会起作用
public function store(Request $request)
{
//
$libro = new Libro;
$libro->titulo = $request->titulo;
$libro->save();
$libros = Libro::all()->get();
return view('libros.index', compact('libros'));
}