未定义变量:laravel上的libros(视图:C:\Users\CDS22\Desktop\Crud\resources\views\libros\index.blade.php)

未定义变量:laravel上的libros(视图:C:\Users\CDS22\Desktop\Crud\resources\views\libros\index.blade.php),php,laravel,laravel-blade,Php,Laravel,Laravel Blade,我正在从我的控制器接收一个数组到我的视图,以将其映射到@foreach刀片循环,但在插入数据库后,当我想将我的应用重定向到索引刀片文档时,出现以下错误: 这是我的控制器: public function store(Request $request) { // $libro = new Libro; $libro->titulo = $request->titulo; $libro->save(); return view('libros

我正在从我的控制器接收一个数组到我的视图,以将其映射到
@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>

身份证件
提特罗
@foreach($libros作为$libro)
{{$libro->id}
{{$libro->titulo}
@endforeach

我希望我的控制器方法重定向会正确地将我发送到视图,但每次我向数据库输入一个寄存器,并且控制器将我重定向到我的刀片视图时,就会出现此错误,我必须重新加载页面才能进入视图。

在存储方法中,您必须将用户重定向到索引页面,或者再次检索并传递所有
libros
数组。
首选前一种方式

假设您已为路线命名,您可以执行以下操作:

公共函数存储(请求$Request)
{
$libro=新libro;
$libro->titulo=$request->titulo;
$libro->save();
return redirect()->route('libros.index');//用索引路由名称替换libros.index
}

我想如果你这样重写,它会工作的

public function store(Request $request)
{
//
$libro = new Libro;
$libro->titulo = $request->titulo;
$libro->save();
$libros = Libro::all()->get();
return view('libros.index', compact('libros'));
}