我正在尝试删除我的关系表中的一条记录,然后获取所有记录并使用JSON返回它们以显示更新的列表。问题是,当我尝试在删除后获取数据时,它会返回数据,就好像未删除记录一样,但是当我检查记录是否已删除时。
这就是我删除记录的方式。
public function sellCat(Request $request)
{
$cat = Cat::find($request->pivot['id']);
$cat->delete();
$user = Auth::user();
// This returns the users cats as if the above was not deleted ??
return $user->cats;
}
User-Model:
public function cats()
{
return $this->morphedByMany(Cat::class, 'animals')->withPivot('id');
}
Cat-Model:
public function cats()
{
return $this->morphToMany('App\User', 'animals');
}
动物模型为空,但它是一个包含user_id,animal_id animal_type的关系表。
答案 0 :(得分:1)
这是由User::$with
属性引起的。加载用户时,将自动加载cats
关系。这就是为什么删除猫后猫还留在那里的原因。
删除$with
属性或重新加载关系:
return $user->load('cats')->cats;