Laravel-我正在尝试从返回null(不起作用)的数据库中删除记录



各位 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 个变量naamid.

因此,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();
}

最新更新