Php Laravel 8不显示来自DB的数据
我正在使用Laravel 8,我制作了一个资源控制器,用于从MySQL表返回一些结果,因此该控制器的Php Laravel 8不显示来自DB的数据,php,laravel,laravel-8,Php,Laravel,Laravel 8,我正在使用Laravel 8,我制作了一个资源控制器,用于从MySQL表返回一些结果,因此该控制器的index()方法适用: public function index() { $posts = Post::all(); return view('posts.index')->with('posts', $posts); } 在index.blade.php中,我添加了以下内容: @section('content') <h1>Posts</h1&
index()
方法适用:
public function index()
{
$posts = Post::all();
return view('posts.index')->with('posts', $posts);
}
在index.blade.php
中,我添加了以下内容:
@section('content')
<h1>Posts</h1>
@if(count($posts)>1)
@foreach($posts as $post)
<div class="well">
<h3>{{$post->title}}</h3>
</div>
@endforeach
@endif
@endsection
@节(“内容”)
帖子
@如果(计数($posts)>1)
@foreach($posts作为$post)
{{$post->title}
@endforeach
@恩迪夫
@端部
正如您所看到的,它看起来不错,但问题是它没有显示任何输出!我的意思是没有结果也没有错误
以下是我的表格信息:
但是,在PHPStorm编辑器上,行返回视图('posts.index')->带有('posts',$posts)代码>有一个通知标志,上面写着:
从扩展retrun类型
\Illumb\Contracts\Foundation\Application |\Illumb\Contracts\View\Factory |\Illumb\Contracts\View |\Illumb\Http\Response |\Illumb\View\View
但我不知道这是什么意思
如果你知道如何解决这个问题,请告诉我,我非常感谢你们的任何想法。我觉得这里的问题是一个简单的逻辑问题。在使用@if(count($posts)>1)
检查$posts
变量计数的行上,如果数据库中只有一篇文章,if条件将失败。这是因为1不大于1
。即使数据库中有一篇文章,您也不会在视图中看到任何内容。要解决此问题,请将代码修改为:
@if(计数($posts)>0)
或
@if(计数($posts)>=1)
我觉得这里的问题是一个简单的逻辑问题。在使用@if(count($posts)>1)
检查$posts
变量计数的行上,如果数据库中只有一篇文章,if条件将失败。这是因为1不大于1
。即使数据库中有一篇文章,您也不会在视图中看到任何内容。要解决此问题,请将代码修改为:
@if(计数($posts)>0)
或
@if(计数($posts)>=1)
首先,您应该使用dd($posts)检查$posts变量是否有数据,或者在控制器本身中返回$posts。如果dd或return有数据,则在刀片文件中检查相同的数据
与其使用@if(count($posts)>0),不如使用@if(isset($posts))。首先,您应该使用dd($posts)检查$posts变量是否有数据,或者在控制器本身中返回$posts。如果dd或return有数据,则在刀片文件中检查相同的数据
与其使用@if(count($posts)>0),不如使用@if(isset($posts))。数据库中有多少篇文章?数据库中有多少篇文章?