Laravel 5.5 Method save does not exist when updating entries with modified primary key Laravel 5.5 Method save does not exist when updating entries with modified primary key php php

Laravel 5.5 Method save does not exist when updating entries with modified primary key


Using get() returns a collection. Despite the fact you are passing in a 'unique' ID, the project_id, it will still return a collection - the collection will simply have one element in it.

Subsequently, your code will not work as you have experienced, or at least not without a few changes to make $project reference the first element in the collection.

It's a quick fix though, just change this:

$project = Project::where("project_id", $request->input('project_id'))->get();

to this:

$project = Project::where("project_id", $request->input('project_id'))->first();

By using first(), eloquent will return the first element that matches the query and actually return the element (as opposed to a collection with one element) and so you can directly edit and save it.


Here is the solution I found.

$project_id = $request->input('project_id');$project = Project::find($project_id);$project->save();


You can find it by id using

Project::find($id);

Or get the first element like James said:

$project = Project::where("project_id", $request->input('project_id'))->first();