Stack Overflow en español Asked on December 22, 2021
quiero enviar un request all en laravel por un procedmiento almacenado pero me da error alguna idea de como hacerlo
public function store(Request $request)
{
return $data = DB::select('call InsertarUsuario(?, ?, ?, ?, ?)',$request->all());
}
me tira el siguiente error
IlluminateDatabaseQueryException: SQLSTATE[HY000]: General error: 2031 (SQL: call InsertarUsuario(Camilo, Pepe, [email protected], 2, ENABLE)) in file C:laragonwwwinnovar2vendorlaravelframeworksrcIlluminateDatabaseConnection.php on line 671
envio 5 elementos
Hacer esto:
$request->all();
Nos estaría mandando una estructura como la siguiente:
{"_token":"dvj6GNzG5g0FygBlvT1ByPAoXvYmEuY9aU8CfBgB","clave":"valor","clave":"valor"}
Entonces tendrías que hacerlo así:
$request->all()
pasamos un array$request->
Entonces puede quedar de este modo:
DB::select('call InsertarUsuario(?, ?, ?, ?, ?)', [$request->clave1, $request->clave2, $request->clave3, $request->clave4, $request->clave5]);
Donde las denominadas claves del 1 al 5 serán las que tengas que cambiar de nombre de acuerdo con los valores que tu esperas
Answered by BetaM on December 22, 2021
El error indicado (2031) indica que algunos parametros no se han pasado a la funcion.
https://dev.mysql.com/doc/refman/8.0/en/client-error-reference.html#error_cr_params_not_bound
Puede ser que Falta agregar alguno de los parametros esperados de InsertarUsuario()
o no se han pasado los valores de todos los parametros en ?
(en este caso 5) .
Revisa la definicion de la funcion y que valores esta generando la llamada a $request->all()
(es un array de 5 elementos?).
Answered by F.Igor on December 22, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP