我的 ProjectsController 中有一小段代码,应该显示数据库中的所有项目(是的,模型是小写的):
public function index(): View
{
$projects = project::all();
return view('projects', ['projects', $projects]);
}
然后它被发送到projects.blade.php 文件。在文件的更下方,我有一个应该从数据库加载信息的表。它使用 foreach 循环来显示数据库中的所有条目。
@foreach($project as $projects)
<tr>
<td>Project_id</td>
<td>User_id</td>
<td>Title</td>
<td>Picture URL</td>
<td>Description</td>
<td>Explanation</td>
<td></td>
<td></td>
</tr>
<tr>
<td>{{ $project->id }}</td>
<td>{{ $project->users_id}}</td>
<td>{{ $project->title }}</td>
<td>{{ $project->picture_url }}</td>
<td>{{ $project->description }}</td>
<td>{{ $project->explanation }}</td>
<td> <a href="{{ route('ProjectsController.update', $project->id) }}">Edit</a> </td>
<td> <form method="POST" action="{{ route('ProjectsController.delete', [$project->id]) }}">
@csrf
@method('DELETE')
<button type="submit">Delete</button>
</form>
</td>
</tr>
我不断收到错误“未定义变量 $project”。它在代码编辑器中显示为“null”,因此与此刀片中的 $project 相关的所有内容都不再起作用。我已经尝试了多种方法,从重命名变量到返回 git 中的提交,该提交确实有效,但似乎没有任何解决方案。关于如何修复有什么想法吗?在控制器中,它并没有说 is null。
您的
foreach
中的变量已切换。
你有:
@foreach($project as $projects)
您需要:
@foreach($projects as $project)