Controladores de recursos de Laravel

Controladores de recursos de Laravel
Se utiliza un controlador de recursos en Laravel para realizar operaciones CRUD fácilmente. Cuando cree un controlador de recursos utilizando el comando Artisan desde el terminal, creará todos los métodos necesarios dentro del controlador relacionado con las operaciones CRUD. Maneja todas las solicitudes HTTP para la aplicación y requiere una sola línea de código para rutas CRUD. En este tutorial se muestra cómo puede crear un controlador de recursos y realizar operaciones CRUD en Laravel.

Requisito previo:

Necesitará una tabla en la base de datos donde está conectado el proyecto Laravel. Puede crear una tabla migrando el comando o manualmente. He usado el usuarios Tabla en este tutorial para hacer la operación CRUD utilizando el controlador de recursos. La mesa está vacía ahora. La estructura de la tabla se muestra a continuación.

Crear un controlador de recursos:

Ejecute el siguiente comando desde el terminal para crear el controlador de recursos nombrado Usercontrolador.

$ PHP Artisan Make: Controlador UserController -Resource

Si abre el controlador de cualquier editor, verá que los siguientes códigos ya están escritos en el controlador. Se crean siete métodos dentro del controlador automáticamente para hacer las operaciones CRUD.

APLICACIÓN DEL PAGO DE NAME \ HTTP \ Controllers;
use iluminar \ http \ solicitud;
clase UserController extiende el controlador

/**
* Muestra una lista del recurso.
*
* @return \ iluminate \ http \ respuesta
*/
índice de funciones públicas ()

//

/**
* Mostrar el formulario para crear un nuevo recurso.
*
* @return \ iluminate \ http \ respuesta
*/
función pública create ()

//

/**
* Almacene un recurso recién creado en almacenamiento.
*
* @param \ iluminate \ http \ solicitud $ solicitud
* @return \ iluminate \ http \ respuesta
*/
tienda de funciones públicas (solicitud $ solicitud)

//

/**
* Muestra el recurso especificado.
*
* @param int $ id
* @return \ iluminate \ http \ respuesta
*/
Mostrar función pública ($ ID)

//

/**
* Mostrar el formulario para editar el recurso especificado.
*
* @param int $ id
* @return \ iluminate \ http \ respuesta
*/
edición de funciones públicas ($ ID)

//

/**
* Actualizar el recurso especificado en almacenamiento.
*
* @param \ iluminate \ http \ solicitud $ solicitud
* @param int $ id
* @return \ iluminate \ http \ respuesta
*/
Actualización de la función pública (solicitud $ solicitud, $ ID)

//

/**
* Eliminar el recurso especificado del almacenamiento.
*
* @param int $ id
* @return \ iluminate \ http \ respuesta
*/
Destro de función pública ($ ID)

//

Rutas de recursos:

Agregue la siguiente ruta para el Usercontrolador para crear rutas de recursos en La web.php archivo.

Ruta :: Resource ('Usuarios', 'UserController');

Ahora, ejecute el siguiente comando desde el terminal para verificar la lista de ruta actual desde el web.php archivo.

$ PHP Ruta artesanal: lista

Se genera la siguiente información de la ruta para usar el método de ruta :: recocesce (). Se crean siete rutas para llamar a siete métodos. Los usos de estas rutas se explican más adelante en la siguiente parte de este tutorial.

Agregue las siguientes líneas al comienzo del Usercontrolador.php Archivo para importar el modelo de usuario, el servicio hash para hash la contraseña y el servicio DB para operaciones de bases de datos.

use la aplicación \ user;
usar hash;
Usar DB

Insertar registro:

Modificar el crear() método de Usercontrolador Con el siguiente código. Aquí, un objeto del Usuario Se crea el modelo para insertar los nuevos registros. Después de asignar los valores obligatorios, el ahorrar() Se llama a la función para insertar el nuevo registro en el estudiantes mesa.

función pública create ()

$ user = nuevo usuario;
$ user-> name = 'fahmida';
$ user-> correo electrónico = '[email protected] ';
$ user-> contraseña = hash :: make ('12345');
intentar
$ user-> save ();
echo "se inserta el registro";

Catch (\ Illuminate \ Database \ QueryException $ e)
echo "entrada duplicada";

La ruta para llamar al crear() método de Usercontrolador es 'usuarios/crear'. Ejecute la siguiente URL desde el navegador. Si el registro se inserta correctamente, aparecerá la siguiente salida.

http: // localhost/laravelpro/public/users/create

Ahora, si la tabla verifica la tabla desde la base de datos, obtendrá la siguiente salida.

Ver todos los registros:

Modificar el índice() método de Usercontrolador con el siguiente código para recuperar todos los registros del usuarios tabla y mostrar los valores de nombre y correo electrónico.

índice de funciones públicas ()

$ users = db :: select ('Seleccionar * de los usuarios');
foreach ($ usuarios como $ usuario)

echo "nombre: $ user-> name";
eco "
Correo electrónico: $ user-> correo electrónico ";

La ruta para llamar al índice() método de Usercontrolador es 'usuarios'. Ejecute la siguiente URL desde el navegador.

http: // localhost/laravelpro/public/users

Aparecerá la siguiente salida.

Seleccione un registro específico:

Modificar el espectáculo() método de Usercontrolador con el siguiente código para recuperar un registro del usuarios tabla que contiene 1 en el identificación campo y mostrar el valor del nombre.

Mostrar función pública ($ ID)

$ user = db :: select ('Seleccionar * de usuarios donde id ='.$ id);
echo "El nombre del usuario es". $ usuario [0]-> nombre."
";

La ruta para llamar al espectáculo() método de Usercontrolador es 'usuarios/id'. Ejecute la siguiente URL desde el navegador.

http: // localhost/laravelpro/public/users/1

Aparecerá la siguiente salida.

Registro de actualización:

Dos métodos se definen principalmente en el controlador de recursos para actualizar un registro de la base de datos. Estos son editar() y actualizar() donde los datos de las actualizaciones de registro utilizando cualquier formulario editado. Pero no se usa ningún formulario de edición aquí. Entonces, solo el editar() El método se utiliza para actualizar un registro particular del estudiantes mesa. El valor actual de un registro en particular se imprime antes y después de ejecutar la consulta de actualización.

edición de funciones públicas ($ ID)

$ user = db :: select ('Seleccionar * de usuarios donde id ='.$ id);
echo "El correo electrónico actual del usuario es". $ user [0]-> correo electrónico."
";
$ correo electrónico = '[email protected] ';
$ user = db :: select ("Actualizar usuarios de usuarios Correo electrónico = '$ Correo electrónico' El correo electrónico del usuario después de la actualización es". $ user [0]-> correo electrónico;

La ruta para llamar al editar() método de Usercontrolador es 'usuarios/id/editar'. Ejecute la siguiente URL desde el navegador.

http: // localhost/laravelpro/public/users/1/editar

Aparecerá la siguiente salida.

Eliminar el registro:

El método destruir () se define para eliminar cualquier registro de la tabla. Pero la ruta para eliminar el registro pasa de otro método. Aquí, he usado el espectáculo() método para crear un hipervínculo para eliminar el registro que se agrega al final del método.

Mostrar función pública ($ ID)

$ user = db :: select ('Seleccionar * de usuarios donde id ='.$ id);
echo "El nombre del usuario es". $ usuario [0]-> nombre."
";
eco ".url ('/')."/usuarios/eliminar/".$ ID."'> Eliminar";

Agregue el siguiente código en el destruir() Método para eliminar un registro particular.

Destro de función pública ($ ID)

$ user = db :: select ('eliminar de usuarios donde id ='.$ id);
echo "El registro se elimina";

Agregue la ruta en web.php Archivo para llamar al destruir() método.

Ruta :: get ('/users/delete/id', 'UserController@destruir');

Después de hacer clic en el enlace Eliminar, aparecerá la siguiente salida.

Conclusión:

El uso del controlador de recursos y el concepto del recurso de ruta se explican en detalle en este tutorial mediante el uso de una operación CRUD. Espero que ayude a los nuevos usuarios de Laravel a implementar la operación CRUD fácilmente en su proyecto.