ログインユーザーが投稿した内容の更新ができずにいます。
TOPページで編集ボタンを押すと画面遷移なしモーダルウィンドウを表示させ、モーダルボディ内テキストエリアで編集、更新
をしたいです。
現在、ユーザーの最新投稿だけが更新できる状態です。
dd()で確認をするとidが最新投稿にふられてるidしか取得が出来ていないじょうたいでした。
更新処理をしているコントローラーでPost::find(他の投稿のid)でやればその該当の投稿が更新できます。
特定のidを取得して更新をさせたいですが、悩みに悩んで質問をお出しさせていただきます。
####View
@foreach ($timelines as $timeline) <div id="timelines"> <div class="top-1"> <p class="top-icon"><img class="usericon" src="/storage/{{$timeline->user->images}}"></p> </div> <div class="top-2"> <p class="top-username">{{ $timeline->user->username }}</p> <p class="top-day">{{ $timeline->created_at}}</p> </div> <div class="top-3"> <p id="mypost" class="top-post">{{ $timeline->posts}}</p> </div> @if($timeline->user->id == Auth::user()->id) <div class="button-2"> <button type="button" class="js-modal-open delete_btn" data-toggle="modal" data-target="#editModal" data-whatever="{{ $timeline->posts}}"> <img src="/images/edit.png" alt="編集" class="edit-btn"></button> <div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal__bg js-modal-close"></div> <div class="modal-body"> <form method="POST" action="{{ url('top/' .$timeline->id)}}" class="postbtn"> {{ csrf_field() }} {{ method_field('PUT') }} <input name="id" type="hidden" value="{{$timeline->id}}"> <textarea class="edit-area" name="editpost" id="postarea"></textarea> <div class="editbtn"> <button type="submit" class="js-modal-close"><img src="/images/edit.png" alt="編集" class="edit-btn"></button> <a class="js-modal-closing" href="">×</a> </div> </div> </form> </div> </div> <!--modal__inner-->
####PostController
public function editupdate(Request $request) { $user =Post::find(ここで特定の投稿idを取得したいです); $user->posts =$request->editpost; $user->update(); return back(); } }
初歩的なことなのでつまづいてしまってるので自力で解決したかったのですが悩みすぎてしまったので、
参考になる記述などアドバイスいただけると助かります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/29 06:16
2020/11/29 06:26
2020/11/29 08:05