更新后,Laravel返回旧模型

更新后,Laravel返回旧模型,laravel,eloquent,Laravel,Eloquent,当我存储新记录时,Laravel返回新记录。一切正常。 更新记录时,Laravel返回旧记录。我想返回更新的记录 控制器 public function store(StoreProjectRequest $request) { $data = $this->repo->create( $request->all()); return response()->json(new ProjectResource($data))

当我存储新记录时,Laravel返回新记录。一切正常。 更新记录时,Laravel返回旧记录。我想返回更新的记录

控制器

    public function store(StoreProjectRequest $request)
    {
        $data = $this->repo->create( $request->all());

        return response()->json(new ProjectResource($data));
    }

    public function update(UpdateProjectRequest $request, Project $project)
    {
        $data = $this->repo->update($project, $request->all());

        return response()->json(new ProjectResource($data));
    }

存储库

    public function create( $data)
    {
        $this->model->name = $data['name'];
        $this->model->description = $data['description'];
        $this->model->sales_order_id = $data['sales_order_id'] ? $data['sales_order_id'] : NULL;
        $this->model->project_leader_id = $data['project_leader_id'];
        $this->model->project_type_id = $data['project_type_id'];
        $this->model->project_status_id = $data['project_status_id'];
        $this->model->creator_id = Auth()->id();
        $this->model->save();

        return $this->model;
    }

    public function update($model, $data)
    {
        $model->name = $data['name'];
        $model->description = $data['description'];
        $model->sales_order_id = $data['sales_order_id'];
        $model->project_leader_id = $data['project_leader_id'];
        $model->project_type_id = $data['project_type_id'];
        $model->project_status_id = $data['project_status_id'];
        $model->save();

        return $model;
    }
当我添加
$data=Project::find($Project->id)
时,我会收到更新的模型


但是这是唯一的方法吗?

之所以
$data
作为旧数据返回,是因为它仍然存储创建变量时的数据。当您调用
$data->fresh()
时,它将获取新数据并返回它。这有意义吗

即具有您直接设置的更新属性的模型,除了为您设置的属性具有新值之外,您还希望发生什么?回购更新的返回是具有旧值的模型。使用“$data->fresh()”返回的是更新的值。我是通过谷歌发现的,但我仍然不明白,为什么第一个版本不返回更新后的模型?它返回的模型中有你直接分配给它的新值,除非你有一些变异子在做一些奇怪的事情