【发布时间】:2017-06-09 05:06:50
【问题描述】:
我是 Laravel 的新手,想弄清楚为什么我的一个页面没有从数据库中提取数据。使用基于 Laracasts 项目的设置在本地运行。我在 Laravel 5.4 上运行 PHP 7 和 OS X Sierra 上的 MySQL。
我收到此错误:未定义变量:主题标签(在我的 hashtags.blade.php 文件中)
我有这个代码 hashtags.blade.php,旨在从数据库中提取条目:
<h2>Your Hashtags</h2>
<table>
<tr>
<th>Hashtag</th>
<th>List Name</th>
<th>List Members Added</th>
</tr>
@foreach($hashtags as $hashtag)
<tr>
<td>{{ $hashtag -> tagname }}</td>
<td>{{ $hashtag -> listname }}</td>
<td>Count</td>
</tr>
@endforeach
</table>
在我的 web.php 路由文件中:
Route::get('/hashtags', function () {
$hashtags = DB::table('hashtags')->get();
return view('hashtags');
});
我通过 .env 文件连接了数据库,Laravel 中的整体连接似乎正常工作,只是不在此页面上。我的印象是 web.php 中的代码定义了变量 $hashtags 并将其传递给 hashtags.blade.php。显然我在这里遗漏了一些东西。
我搜索并发现了一些关于将数据传递到刀片文件的其他问题,但没有什么与这个问题完全一样。谢谢!
【问题讨论】:
-
说真的,每个 laravel 教程都有写:
return view('hashtags', ['hashtags' => $hashtags]);