2017-01-16 2 views
0

Я не могу исправить свою проблему, когда я удаляю задачу, которая перенаправляет меня на панель мониторинга, я вижу, что в контроллере она перенаправляется на страницу/dashboard, однако, когда я пытаюсь исправить это, это просто ошибки:/я хочу, для того чтобы достигнуть того же результата, переназначение создать делаетОшибка перенаправления в контроллере

public function createTaskPage(Request $request, $slug) { 

    $project = Project::where('slug', $slug)->firstOrFail(); 

    // Validate it has a body. 
    $validate = validator(
      $request->toArray(), [ 
     'task' => 'required', 
    ]); 

    if ($validate->fails()) { 
     return response()->json([], 400); 
    } 
    $tasks = new Task; 
    $tasks->project_id = $project->id; 
    $tasks->body = $request->task; 
    $tasksCreate = Auth::user()->tasks()->save($tasks); 
    //return response()->json([], 201); 
    return redirect()->to('/project/' . $project->slug); 
} 

public function doDeleteTask($id) { 
    try { 
     $tasks = Task::where('user_id', Auth::user()->id)->findOrFail($id); 
    } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $ex) { 
     return response()->json([], 404); 
    } 
    $tasks->delete(); 
    //return response()->json([], 204); 
    return redirect()->to('/dashboard'); 
} 

Это форма, где кнопка удаления

<div class="col-md-3"> 
<div class="panel panel-default shadow"> 
    <div class="panel-body"> 
     <div class="row text-center"> 
      <h4><strong>{{ str_limit(strip_tags($project->name), 20) }}</strong></h4> 
      <h5>{{ $project->created_at }}</h5> 
     </div> 
     <div class="row text-center" style="margin:5px;"> 
      {{ ($project->description) }} 
     </div> 
     <div class="row text-center"> 
      <form action="{{ url('/project/'.$project->id) }}" method="POST"> 
       {{ csrf_field() }} 
       {{ method_field('DELETE') }} 
       <button type="submit" class="btn btn-link btn-sm" onclick="return ConfirmDelete(this)" style="margin:5px;"><i class="fa fa-ban fa-3x" aria-hidden="true"></i></button> 
       <a href="{{ url('/project/' . $project->slug) }}" class="btn btn-link btn-sm"><i class="fa fa-arrow-circle-o-right fa-3x" aria-hidden="true"></i></a> 
      </form>    
     </div> 
    </div> 
</div> 

Это мой удалить маршрут & создать маршрут

Route::delete('/task/{id}', '[email protected]'); // Delete a task 
Route::post('/project/{slug}/task', '[email protected]')->name('task'); 
+0

Что файл маршрут выглядит – Gayan

+0

Route :: Delete ('/ задачи/{идентификатор } ',' TaskController @ doDeleteTask '); // Удалить задачу –

+0

Я имел в виду файл маршрута. Если функциональность кажется ОК, но проблема с перенаправлением, может возникнуть проблема с файлом маршрута (с другими маршрутами) – Gayan

ответ

0

Если у вас есть отношения проекта, определенные в задачах, вы можете сделать это:

public function doDeleteTask($id) { 
    try { 
     $tasks = Task::where('user_id', Auth::user()->id)->findOrFail($id); 
    } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $ex) { 
     return response()->json([], 404); 
    } 
    $project = $tasks->project; 
    $tasks->delete(); 

    return redirect()->to('/project/' . $project->slug); 
} 
Смежные вопросы