我是 Laravel 的新手,在尝试从数据透视表中分离一些值时遇到了问题。
我正在使用的数据透视表是:excercise_workout (ejercicio_rutina) & excise_day (ejercicio_dia)(这些表每个只有两个 id)。关系是多对多。锻炼有很多天,一天有很多练习。
我创建了这些路线:
Route::resource('rutinas','RutinasController'); 路线::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() !!}
destroyEjercicio 是我不知道如何处理的部分:
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()
我尝试了很多其他方法,但我不知道该怎么做。
我需要知道当天的 ID 和要删除的练习的 ID。而且我不知道post请求是如何过去的。
更新->这是我没有输入要求的表格...
@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