【发布时间】:2016-05-09 16:51:57
【问题描述】:
我是 Laravel 的新手,在尝试从数据透视表中分离一些值时遇到问题。
我正在使用的数据透视表是: excercise_workout (ejercicio_rutina) & excise_day (ejercicio_dia) (这些表每个只有两个 id)。关系是多对多。 锻炼有很多天,一天有很多锻炼。
我创建了这些路线:
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() !!}
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
【问题讨论】:
-
foreach ($rutina->dias as $dia) <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
标签: laravel request pivot-table laravel-facade