Удаление пользователя из сводной таблицы project_user - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь удалить пользователя из проекта, в моем проекте разные пользователи, я понимаю, что должен использовать метод detach, но я не знаю, как это сделать, пытаясь понятьмаршруты и какой URL будет в форме действия.это форма для удаления

            <h5>Team Members</h5>
              <ol class="list-unstyled">
                @foreach ($project->addedUsers as $user)
                <li><a href="/projects"> {{ $user->name }}</a>

                 <a href="#"
                 onclick="
                 var result =confirm('Are you sure you want to delete this User?');
                 if(result){
                     event.preventDefault();
                     document.getElementById('delete-user').submit();
                     }"
                 >
                 <i class="fas fa-minus-circle"></i></a>
                 <form id="delete-user" action="/projects/{{$project->id}}/deleteuser" method="post" display="none">
                     @csrf
                     @method('DELETE')
                     <input type="hidden" name="project_id" value="{{$project->id}}">
                     <input type="hidden" name="user_id" value="{{$user->id}}">
                     </form>
                </li>

                @endforeach

ProjectController

  public function deleteuser(Project $project){
           dd('hello');
           $project = Project::findorfail(request('project_id'));
           $user= User::where('id', request('user_id'))->first();
                $project-> addedUsers()->detach($user);

                return redirect('projects.show')->with('success', 'User deleted successful');
               }

Файл маршрута

   Route::delete('projects/{$project}/deleteuser', 'ProjectsController@deleteuser');

Я знаю, что большинство из них не так, но, возможно, вы можете направить меня вправильное направление

1 Ответ

0 голосов
/ 04 февраля 2019

После большого количества проб и ошибок, я наконец заработал, lol

Project Controller

  public function deleteuser(Request $request){

           $project = Project::findorfail(request('project_id'));
           $user= User::where('id', request('user_id'))->first();
                $project-> addedUsers()->detach($user);

                return back() ->with('success', 'User deleted successful');
               }

Маршрут

 Route::delete('projects/{id}/deleteuser', 'ProjectsController@deleteuser');

Удалить форму

 <h5>Team Members</h5>
                      <ol class="list-unstyled">
                        @foreach ($project->addedUsers as $user)
                        <li><a href="/projects"> {{ $user->name }}</a>

                         <a href="#"
                         onclick="
                         var result =confirm('Are you sure you want to delete this User?');
                         if(result){
                             event.preventDefault();
                             document.getElementById('delete-user').submit();
                             }"
                         >
                         <i class="fas fa-minus-circle"></i></a>
                         <form id="delete-user" action="/projects/{{$project->id}}/deleteuser" method="post" display="none">
                             @csrf
                             @method('DELETE')
                             <input type="hidden" name="project_id" value="{{$project->id}}">
                             <input type="hidden" name="user_id" value="{{$user->id}}">
                             </form>
                        </li>

                        @endforeach


                      </ol>
                    </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...