前提、実現したいこと
phpのフレームワークlaravelでwebアプリケーションを開発しています。現在
・ログインしたユーザーが何か投稿できるページ
・投稿したものを一覧表示
の機能を付けています。今は1種類[Postart]の投稿ページのみ実装ですが、
今後は
・[Postsport]や[Postjob]など他の種類の投稿ができるページを実装するつもりです。
そこで分からないことがあります。
・投稿者のみが自分の投稿一覧[post]を見ること
です。現在は投稿一覧[postart]のみなので、投稿者のみが自分の投稿一覧[mypostart]を見ることができるページは簡単に作れるのですが、複数種類の投稿を一括に一覧表示できるようにするにはどうすれば良いのでしょうか。
該当のソースコード
mypost.blade.php
1 2 {{-- 投稿一覧表示用のコード --}} 3 <div> 4 @foreach ($posts as $post) 5 <div> 6 <div> 7 <div> 8 <div> 9 <a href="{{route('postart.show',$postart)}}"> 10 <h1>{{ $postart->title }}</h1> 11 </a> 12 <div> 13 <p> {{ $postart->user->name }} • {{$postart->created_at->diffForHumans()}}</p> 14 15 </div> 16 </div> 17 </div> 18 @endforeach 19 </div>
PostController.php
1class PostController extends Controller 2{ 3public function mypost() { 4 $user=auth()->user()->id; 5 $postarts=Postart::where('user_id', $user)->get(); 6 $posts = [ 7 $postarts 8 ]; 9 return view('post.mypost', compact('posts')); 10 } 11}
試したこと
Postcontroller.phpで$posts配列の中に$postartsを入れたのはmypost.blade.phpで@foreach ($posts as $post)を使って各$post(=$postartsや$postsports)を表示できると思ったからです。
しかしそうすると、
・例えば$postartsの中の各$postartを展開しなければならない
・各$postごとに表示、保存されるRouteが違うのでそれぞれでURL等を変えなければならない
という問題に直面しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/05 08:45 編集
2022/10/05 06:58
2022/10/05 07:21
2022/10/05 08:19
2022/10/05 08:23
2022/10/05 12:07