Я разрабатываю личный блог, но я не могу заставить браузер показать мне, что у меня есть в функции, которая еще не показала мне ни одного сообщения, однако мне удается просмотреть список всех сообщений, я могу просмотреть всего 5 (последних), которые появляются на главной домашней странице.
Теперь я перехожу к той части, где вы нажимаете на заголовок, и все об этом посте должно отображаться. Я проверил код той части, где у меня возникли проблемы, и той части, где foreach не отображается в браузере, может быть, я что-то не так делаю в блейд-части?
PostsController.php
public function show(Post $slug)
{
$post = Post::find($slug);
return view('posts.show', ['posts' => $post]);
}
Сообщения/show.blade.php
@extends('layouts.app')
@section('showpost')
<div>
@foreach ($posts as $post)
<h1> {{ $post->title }} </h1>
<p> {{ $post->body }} </p>
@endforeach
</div>
@endsection
веб.php
Route::get('/posts/{post}', 'PostsController@show');
Просто чтобы показать вам, как я ссылаюсь на шаблон, который показывает только один пост.
@foreach ($posts as $post)
<li>
<a href="/posts/{{ $post->slug }}">
<h1> {{ $post->title }} </h1>
</a>
<p> {{ $post->slug }} </p>
</li>
@endforeach
foreach
, если вы хотите показать только один пост.@section('showpost')
: это правильное название раздела? Обычно этоcontent
, ты@yield('showpost')
в своемapp.blade.php
? - person brombeer   schedule 19.11.2020['posts' => $post]);
на['post' => $post]);
и выдает ошибку другого типа. Свойство [название] не существует в этом экземпляре коллекции. - person Eduardo   schedule 19.11.2020