Tengo una tabla de cursos y tiene 4 campos, a saber: id, título, descripción, fecha límite.
Quiero actualizar solo la descripción y la fecha límite, pero lo que he hecho actualmente consulta la tabla por su identificación y actualiza todos los campos.
¿Cómo puedo actualizar solo mis campos de descripción y fecha límite?
public function editCourse(Request $request, $id){ // first check whether a course in that id exists to be updated $course = CourseModel::find($id); // if there is no such course if(is_null($course)){ return response()->json(["message" => "Record Not found!"],404); } // update the database $course->update($request->all()); return response()->json($course,200); }Puede usar el método save() para actualizar cierto campo:
public function editCourse(Request $request, $id){ // first check whether a course in that id exists to be updated $course = CourseModel::find($id); // if there is no such course if(is_null($course)){ return response()->json(["message" => "Record Not found!"],404); } // update only description and deadline $course->description = $request->description; $course->deadline = $request->deadline; $course->save(); return response()->json($course,200); }Hay un par de maneras diferentes de hacer esto:
Course::where('id', $id)->update($request->only(['description', 'deadline'])); $course = CourseModel::find($id); $course->description = $request->input('description'); $course->deadline = $request->input('deadline'); $course->save();Ambas respuestas asumen que está recibiendo la descripción de los campos y la fecha límite en su solicitud.