count()有问题:

时间:2019-07-11 16:34:56

标签: php laravel

Builder.php第1185行中的

ErrorException: count():参数必须是实现Countable的数组或对象

// PostController代码

public function index()
    {
      $posts = Post::all();

      return view('posts.index', compact('posts'));
    }




 public function create()
    {
        return view('posts.create');
    }

// index.blade.php代码

@extends('layouts.app')

@section('content')

<ul>

    @foreach($posts as $post)

    <li> {{$post->title}}} </li>

    @endforeach

  </ul>

@endsection

许多建议我降级PHP版本(基本上,我下载了包含5.36版本的xampp zip文件,然后将“ PHP”和“ Apache”文件夹复制到了旧的xampp中,并编辑了php.ini文件)

一切都很好,但是我在一个项目的中间,所以当我尝试访问那些链接时,这给了我一个错误。

2 个答案:

答案 0 :(得分:0)

index.blade.php 中,删除{{$post->title}}

中多余的花括号
@extends('layouts.app')

@section('content')

<ul>

    @foreach($posts as $post)

    <li> {{$post->title}} </li>

    @endforeach

  </ul>

@endsection

答案 1 :(得分:0)

为什么不尝试使用@forelse?因为您的查询没有要显示的结果,所以必须发生这种情况。因此,您可以尝试使用:

@forelse($posts as $post)

    <li> {{$post->title}}} </li>

@empty

    <li>No data to show</li>

@endforelse