猿问

未定义变量:laravel 上的 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>

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


慕莱坞森
浏览 146回答 2
2回答

莫回无

在您的存储方法中,您要么必须将用户重定向到索引页面,要么libros再次检索并传递所有数组。首选前一种方式。假设您已经为路线命名,您可以执行以下操作:public function store(Request $request){&nbsp; &nbsp;$libro = new Libro;&nbsp; &nbsp;$libro->titulo = $request->titulo;&nbsp; &nbsp;$libro->save();&nbsp; &nbsp;return redirect()->route('libros.index'); // replace libros.index with the index route name}

天涯尽头无女友

我认为如果你这样重写它会起作用public function store(Request $request){//$libro = new Libro;$libro->titulo = $request->titulo;$libro->save();$libros = Libro::all()->get();return view('libros.index', compact('libros'));}
随时随地看视频慕课网APP
我要回答