【问题标题】:Cannot retrieve database info in blade view无法在刀片视图中检索数据库信息
【发布时间】:2017-10-26 22:33:06
【问题描述】:

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

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);
 }

【问题讨论】:

  • 您将数组称为 diary,而不是 posts
  • @tkausl 天哪:\谢谢你

标签: mysql database laravel laravel-5 blade


【解决方案1】:

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

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

你应该这样做

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

以下是一些可以将数据传递到视图的替代方法:-

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

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

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

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

【讨论】:

  • 使用您使用的替代方法有什么优点/缺点?还是只是个人喜好?
  • 没有区别,只是个人喜好。
【解决方案2】:

应该是

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    相关资源
    最近更新 更多