En un proyecto en Laravel estoy usando un código como este para guardar los datos de una empresa en la base de datos:
public function postGuardarEmpresa() {
$post = \Request::All();
$data = new Empresa;
$data->nombre = $post['name'];
$data->direccion = $post['address'];
$data->telefono = $post['phone']; $data->fecha_registro = date("Y-m-d H:i:s"); $data->fecha_modificacion = date("Y-m-d H:i:s");
if ($data->save()) {
return Response::json(['success' => true], 200);
}
}
Quero retornar el último ID insertado pero no sé cómo conseguirlo.
Gracias!
Con Eloquent una vez que guardás el registro en la base de datos el identificador que se insertó queda registrado en el attributo correspondiente de tu modelo. Suponiendo que "id" sea tu clave primaria al guardarlo podés acceder con ->id
. Ej:
if ($data->save()) {
$data->id; // Aca obtenés el identificador registrado en la tabla
return Response::json(['success' => true], 200);
}
Lo mismo aplica si utilizaras el método estático "create":
$empresa = Empresa::create([...]);
$empresa->id; // Identificador registrado
Saludos.
Muchas gracias Gordon, no sabía que con create era así