如何处理一对多删除?

对应关系已经处理好
public function link()

{
    return $this->belongsTo(Link::class);
}

public function linkItem()

{
    return $this->hasMany(LinkItem::class);
}

//批量删除
public function deleteMoreLink($ids){
    if ($ids){
       $link=Link::whereIn('id',$ids)->linkItem()->delete();
        //如果删除成功
        if ($link){
            $data=[
                'status'=>1,
                'msg'=>'删除成功!'
            ];
        }else{
            $data=[
                'status'=>0,
                'msg'=>'删除失败!'
            ];
        }
        return response()->json($data);
    }
    abort('404');
}

但是出现500错误!
Call to undefined method Illuminate\Database\Query\Builder::linkItem()

这个Link::whereIn('id',$ids)返回的应该是 Illuminate\Database\Query\Builder 对象。。。

$links=Link::whereIn('id',$ids)->get();
foreach ($links as $link){
    $link->linkItem()->delete();
}

大概这样。

JellyBool
修改的评论也不能少于六个字哦!
hcweb 回复 JellyBool
修改的评论也不能少于六个字哦!
hcweb 回复 JellyBool
修改的评论也不能少于六个字哦!