実装方法が分からなかったためご質問させていただきます。
###実装したいこと
Postモデルとcommentモデルが1対多の関係で紐づいています。
その状態で、Postの詳細ページでpostに紐づいているcommentを表示し、コメントの数が多ければコメントに対してページネーションを使いたいと思っています。
### 試したこと
controller/PostsController
public function show(Post $post){ return view('posts.show',['post' => $post]); }
posts/show.blade.php
@foreach($post->comments->paginate(5) as $comment) $comment->content $comment->created_at @endforeach
このように書くと、
Method Illuminate\Database\Eloquent\Collection::paginate does not exist.
Collectionに対するpaginate関数は存在しません?というエラーが起こります。
そこで$post->commentsの戻り値を見てみると、collectionが返ってきていました。
Illuminate\Database\Eloquent\Collection {#915 all: [App\post {#3209 id: 11, post_id: 8, content: "aaaaa", created_at: "2019-06-26 03:22:53", updated_at: "2019-06-26 03:22:53", },
Collectionにpaginateが使えないことはわかりましたが、どのようにデータを取得すれば良いかが検討もつきません。
大変恐縮ですが、どなたか教えていただけると幸いです。よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー