Laravel单元测试非法偏移类型

时间:2020-08-06 14:50:15

标签: laravel

我目前正在尝试了解Laravel中的单元测试,并且试图查看是否可以从我通过添加选项以显示所有帖子的/posts路由中找到的教程中分支。在一个网格中,但是遇到一个错误,并且无法理解错误的出处。

ViewABlogPostTest.php

public function testSeeAllPosts()
    {
        $response = $this->get("/posts");

        $response->assertStatus(200);
    }

运行它时,出现以下错误:

1)Tests \ Feature \ ViewABlogPostTest :: testSeeAllPosts ErrorException:偏移量类型非法

web.php路由:

Route::get('/posts', 'PostController@all');

PostController所有功能:

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

      return view('all-posts')->with($posts, 'posts');
    }

all-posts.blade.php:

This page is supposed to show all of the posts in the db
@foreach($posts as $post)
<p>{{ $post->id }} | {{ $post->title }} | {{ $post->body }}</p>
@endforeach

我试图研究将数组传递到视图中,这应该是我的方法,但是我不明白此错误的含义,并且搜索它没有任何意义,我是否做错了文章?还是我应该将数组数据传递给视图的另一种方法?

1 个答案:

答案 0 :(得分:0)

我认为view()->with()先接受key,然后再接受value。您的代码将切换这些参数。在您的PostController

中尝试一下
public function all() {
    $posts = Post::all();
    return view('all-posts')->with('posts', $posts);
}