Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

554
Vistas
Laravel: ¿Actualizar un valor mantiene el valor como nulo?

En una página de vista en Laravel, estoy mostrando información pero también tengo un formulario en la parte inferior de la vista donde los usuarios pueden dejar un 'comentario'. En la tabla de la base de datos, el campo para comentarios se establece inicialmente como 'nulo' y luego, si los usuarios deciden enviar un comentario, se actualizará el campo.

El código se ejecuta, sin embargo, no parece funcionar, ya que cuando verifico la base de datos, ¿el valor sigue siendo nulo?

Controlador (función de actualización ):

 public function update(Request $request, $MealPlan_ID) { $comments = $request->comments; $commentupdate = MealPlanInput::where('id', '=', $MealPlan_ID)->update(['comments' => $comments]); $data = MealPlanInput::where('id', '=', $MealPlan_ID)->get(); return view('MealPlanDisplay.modal', compact('data', 'MealPlan_ID'));

Controlador (la función mostrar , arrojó un error cuando no la tenía):

 public function show($MealPlan_ID) { $data = MealPlanInput::where('id', '=', $MealPlan_ID)->get(); return view('MealPlanDisplay.modal', compact('data','MealPlan_ID')); }

La vista con forma:

 <form method="put" action="{{ route('MealPlanDisplay.update', $MealPlan_ID) }}"> <div class="shadow overflow-hidden sm:rounded-md"> <div class="px-4 py-5 bg-white sm:p-6"> <label for="comments" class="block font-medium text-sm text-gray-700">Personal Comments about Meal Plan</label> <input type="text" name="comments" id="comments" type="text" class="form-input rounded-md shadow-sm mt-1 block w-full" value="{{ old('comments', '') }}" /> @error('comments') <p class="text-sm text-red-600">{{ $message }}</p> @enderror </div> <div class="flex items-center justify-end px-4 py-3 bg-gray-50 text-right sm:px-6"> <button class="inline-flex items-center px-4 py-2 bg-gray-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase"> Submit Comment </button>

Ruta:

 //the /view and then the relevant ID of the information being displayed Route::put('/MealPlanDisplay/modal/{MealPlan_ID}', [MealPlanDisplayController::class, 'update']);

Lo único que noté es que la URL cambiará después de enviar, por lo que cuando la URL normalmente es: /MealPlanDisplay/2

Si envío un comentario llamado 'Prueba', la URL cambia a: /MealPlanDisplay/2?comments=Test

Estoy confundido en cuanto a lo que estoy haciendo mal con la actualización (poner)? Apreciaría mucho alguna ayuda.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En aras de la comprensión, transfirí el comentario de @nice_dev a su código. También incluí la declaración @csrf que agrega el token csrf, generalmente lo desea en las solicitudes posteriores. (de lo contrario, podría obtener algunos errores)

 <form method="post" action="{{ route('MealPlanDisplay.update', $MealPlan_ID) }}"> @method('PUT') @csrf //.... the rest

¿Por qué necesita usar POST en lugar de PUT?
PUT no se reconoce como un método válido, por lo tanto, se envía una solicitud de obtención a su backend y se invoca el método de controlador incorrecto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda