各位 StackOverflow 用户,
我正在尝试使用 destroy 函数从数据库中删除一条记录,但它返回一个空值。我认为这与我使用关系模型有关。
Club_info.刀片.php:
@foreach ($speler as $s)
<tr>
<td>{{$s->speler_naam}}
<a href="{!! url()->current() !!}/delete/{{$s->id}}">×</a>
</td>
</tr>
@endforeach
路由文件:
Route::get('/view/{naam}/delete/{id}', 'VoetbalController@destroy');
控制器:
public function destroy($id)
{
$speler = Speler::where('id', $id)->delete();
$speler->delete();
}
型:
public function speler()
{
return $this->belongsTo('AppSpeler', 'naam', 'club_naam');
}
您正在传递 2 个变量naam
和id
.
因此,destroy
函数中的$id
将自动获取第一个参数的值{naam}
。您需要在控制器的destroy
函数中添加 2 个参数。
你已经把delete()
方法称为 twise。
将控制器功能更改为
public function destroy($naam, $id)
{
$speler = Speler::where('id', $id)->delete();
}
如果路由中没有魔术逻辑,则销毁函数中缺少$naam
变量。
您正在删除一个删除,因此不需要第二个删除。
public function destroy($naam, $id)
{
Speler::where('id', '=', $id)->delete();
}