Я новичок в Laravel, и у меня возникают проблемы, когда я пытаюсь отделить некоторые значения от сводных таблиц.
Сводные таблицы, с которыми я работаю: excercise_workout (ejercicio_rutina) и excise_day (ejercicio_dia) (у каждой из этих таблиц всего два идентификатора). Отношения ManyToMany. У тренировки много дней, а у дня много упражнений.
Я создал эти маршруты:
Route::resource('rutinas','RutinasController'); Route::delete('rutinas.destroyEjercicio/{id}','RutinasController@destroyEjercicio');
У меня есть эта кнопка, которая является формой и вызывает удаление:
{!! Form::open([
'method' => 'DELETE',
'action' => [ 'RutinasController@destroyEjercicio', $ejercicio->id ]
]) !!}
{!! Form::submit('Borrar Ejercicio', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
DestructionEjercicio - это та часть, с которой я не знаю, как справиться:
public function destroyEjercicio($id)
{
$ejercicio = Ejercicio::findOrFail($id);
dias()->$ejercicio->detach($id);
//EXAMPLE DELETE WITH QUERY
// DB::delete('delete from toy_user where toy_id = ? AND user_id = ? AND status = 0', array($toy->id,Auth::id()));
return redirect('rutinas');
}
Я получаю эту ошибку, когда пытаюсь отправить форму удаления: вызов неопределенной функции App\Http\Controllers\dias()
Я пробовал много других методов, но я не знаю, как это сделать.
Мне нужно знать идентификатор дня и идентификатор упражнения, которое я хочу удалить. И я не знаю, как прошло это по почтовому запросу.
ОБНОВЛЕНИЕ -> ЭТО ФОРМА, КОТОРУЮ НЕТ ИНФОРМАЦИИ ДЛЯ ЗАПРОСА...
@foreach ($rutina->dias as $dia)
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-default">
<div class="panel-body">
Ejercicios para el <strong>{{ $dia->nombre }}</strong>
<hr>
@foreach ($dia->ejercicios as $ejercicio)
<ul>
<li>{{ $ejercicio->nombre }}</li>
</ul>
{!! Form::open([
'method' => 'DELETE',
'action' => [ 'RutinasController@destroyEjercicio', $ejercicio->id ]
]) !!}
{!! Form::submit('Borrar Ejercicio', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
@endforeach
</div>
</div>
</div>
@endforeach