Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel detach不起作用-它只是将轴列更新为null,而不是分离整个模型_Laravel - Fatal编程技术网

Laravel detach不起作用-它只是将轴列更新为null,而不是分离整个模型

Laravel detach不起作用-它只是将轴列更新为null,而不是分离整个模型,laravel,Laravel,我想从用户模型中分离技能模型,但不是分离,detach($skillId)方法只是将透视列更新为null 我创建了route DELETE/skills/{skillId},并在Controller中返回了关于skills关系的detach metod 关系: public function skills() { return $this->belongsToMany(Skill::class, 'user_skill', 'user_id', 'skill_id'

我想从用户模型中分离技能模型,但不是分离,
detach($skillId)
方法只是将透视列更新为null

我创建了route DELETE/skills/{skillId},并在Controller中返回了关于skills关系的detach metod

关系:

public function skills()
    {
        return $this->belongsToMany(Skill::class, 'user_skill', 'user_id', 'skill_id')
            ->withPivot(['scale', 'started_at'])
            ->withTimestamps();
    }
删除:

return auth()->user()->skills()->detach($skillId);

Pivot列已更新为null,但附加的模型仍然保留。

您是否在Pivot模型上使用了softDeletes?否,但我也检查了它,以确保如果我正确理解了这一点,我没有使用它。问题是分离的技能没有从数据库中删除
detach
attach
仅修改透视表。如果我从用户模型中分离技能模型,这意味着detach方法将删除包含用户id、技能id和其他透视列的整行?对我来说,分离后只有轴列为null,但用户id和技能id保持不变-就像附加但没有轴列请参见图片:您能看到查询日志显示的内容吗<代码>DB::enableQueryLog();auth()->user()->skills()->detach($skillId);dd(DB::getQueryLog())你在pivot模型上使用了softDeletes吗?没有,但我也检查了它,以确保我没有使用,如果我理解正确的话。问题是分离的技能没有从数据库中删除
detach
attach
仅修改透视表。如果我从用户模型中分离技能模型,这意味着detach方法将删除包含用户id、技能id和其他透视列的整行?对我来说,分离后只有轴列为null,但用户id和技能id保持不变-就像附加但没有轴列请参见图片:您能看到查询日志显示的内容吗<代码>DB::enableQueryLog();auth()->user()->skills()->detach($skillId);dd(DB::getQueryLog())