删除关系后,返回新版本的Eloquent for JSON模型

时间:2015-12-13 15:51:53

标签: json laravel laravel-5 eloquent laravel-5.1

我有一种方法可以从Photo模型中删除Blog模型。 (Blog hasMany Photo)。我是通过AJAX完成的。我的方法看起来像这样:

public function removeImage(RemoveImageRequest $request)
    {
        $parent = $this->model->findOrFail($request->parent);

        // Check if a passed image belongs to the passed post
        if(in_array($request->image, $parent->photos->lists('id')->all())) {
            $this->repository->detachPhoto($parent, $request->image);
        }

        return $this->transformer->transform($parent);
    }

Transformer只是一个以更易读的方式重新格式化JSON数据的类,另外还添加了前端使用的一些其他属性。

但是当我返回$parent个对象时,它仍然有最近删除的照片。我应该再次获取整个模型还是有办法返回一个新的copy

1 个答案:

答案 0 :(得分:0)

您可以致电:

重新加载父照片关系
$parent->load('photos');

之后,该关系将保存当前数据库中的内容 - 没有您刚删除的照片列表。