我无法将数据库信息传递到刀片文件。我想在一页上显示所有数据库条目。我究竟做错了什么?

diary.blade.php

 @foreach($posts as $post)
     <Tr>
         <th>{{ $post->id }}</th>
         <th>{{ $post->body }}</th>
     </Tr>
 @endforeach




web.php

Route::get('diary', 'DiaryController@index')->name('diary');




DiaryController.php

 public function index()
 {
     $posts = DB::table('entries')->get();
     return view ('user.diary')->with('diary', $posts);
 }

最佳答案

您传递的变量名称不正确,而不是

return view ('user.diary')->with('diary', $posts);

你应该做

return view ('user.diary')->with('posts', $posts);

您可以通过以下几种方法将数据传递到视图:

return view('user.diary', ['posts' => $posts]);


要么

return view ('user.diary')->with('posts', $posts);


要么

return view('user.diary', compact('posts'));


希望这对您的问题有所帮助。

10-06 12:52