php – Laravel – 我试图从数据库中删除一条记录返回null(不工作)

您好StackOverflow用户,

我试图使用destroy函数从数据库中删除记录,但它返回一个空值.我认为这与我使用关系模型有关.

Club_info.blade.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('App\Speler','naam','club_naam');
}

解决方法

你传递2个变量naam和id.

因此,destroy函数中的$id将自动获取您的第一个参数{naam}的值.您需要在控制器的destroy函数中添加2个参数.

你已经调用了delete()方法twise.

将Controller功能更改为

public function destroy($naam,$id)
{
   $speler = Speler::where('id',$id)->delete();
}

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载