我目前正在尝试了解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
我试图研究将数组传递到视图中,这应该是我的方法,但是我不明白此错误的含义,并且搜索它没有任何意义,我是否做错了文章?还是我应该将数组数据传递给视图的另一种方法?
答案 0 :(得分:0)
我认为view()->with()
先接受key
,然后再接受value
。您的代码将切换这些参数。在您的PostController
public function all() {
$posts = Post::all();
return view('all-posts')->with('posts', $posts);
}