laravel

Controladores de recursos de Laravel

Controladores de recursos de Laravel
Se usa un controlador de recursos en Laravel para realizar operaciones CRUD fácilmente. Cuando cree un controlador de recursos utilizando el comando artesanal desde el terminal, creará todos los métodos necesarios dentro del controlador relacionados con las operaciones CRUD. Maneja todas las solicitudes HTTP para la aplicación y requiere una sola línea de código para las 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 mediante el comando migrate o manualmente. He usado el usuarios tabla en este tutorial para hacer la operación CRUD usando el controlador de recursos. La mesa está vacía ahora. La estructura de la tabla se muestra a continuación.

Cree un controlador de recursos:

Ejecute el siguiente comando desde la terminal para crear el controlador de recursos llamado UserController.

$ php artisan make: controller UserController --resource

Si abre el controlador desde 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 realizar las operaciones CRUD.

espacio de nombres App \ Http \ Controllers;
use Illuminate \ Http \ Request;
clase UserController extiende Controller

/ **
* Mostrar una lista del recurso.
*
* @return \ Illuminate \ Http \ Response
* /
índice de función pública ()

//

/ **
* Muestre el formulario para crear un nuevo recurso.
*
* @return \ Illuminate \ Http \ Response
* /
función pública crear ()

//

/ **
* Almacene un recurso recién creado en el almacenamiento.
*
* @param \ Illuminate \ Http \ Request $ request
* @return \ Illuminate \ Http \ Response
* /
tienda de función pública (Solicitar $ solicitud)

//

/ **
* Mostrar el recurso especificado.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
espectáculo de función pública ($ id)

//

/ **
* Mostrar el formulario para editar el recurso especificado.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
función pública editar ($ id)

//

/ **
* Actualizar el recurso especificado en el almacenamiento.
*
* @param \ Illuminate \ Http \ Request $ request
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
actualización de función pública (Request $ request, $ id)

//

/ **
* Eliminar el recurso especificado del almacenamiento.
*
* @param int $ id
* @return \ Illuminate \ Http \ Response
* /
función pública destruir ($ id)

//

Rutas de recursos:

Agregue la siguiente ruta para el UserController para crear rutas de recursos en La web.php expediente.

Route :: resource ('usuarios', 'UserController');

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

$ php ruta artesanal: lista

La siguiente información de ruta se genera para usar el método Route :: resource (). 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 de la UserController.php archivo para importar el modelo de usuario, servicio Hash para hash de la contraseña y servicio de base de datos para operaciones de base de datos.

use App \ User;
use Hash;
usar DB

Insertar registro:

Modificar el crear() método de UserController 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 crear ()

$ usuario = nuevo usuario;
$ usuario-> nombre = 'fahmida';
$ usuario-> correo electrónico = '[correo electrónico protegido]';
$ usuario-> contraseña = Hash :: make ('12345');
intentar
$ usuario-> guardar ();
echo "Registro insertado";

catch (\ Illuminate \ Database \ QueryException $ e)
echo "Entrada duplicada";

La ruta para llamar al crear() método de UserController 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 verifica la tabla de la base de datos, obtendrá el siguiente resultado.

Ver todos los registros:

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

índice de función pública ()

$ usuarios = DB :: select ('seleccionar * de usuarios');
foreach ($ usuarios como $ usuario)

echo "Nombre: $ usuario-> nombre";
eco "
Correo electrónico: $ usuario-> correo electrónico ";

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

http: // localhost / laravelpro / public / users

Aparecerá la siguiente salida.

Seleccionar registro específico:

Modificar el show() método de UserController 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.

espectáculo de función pública ($ id)

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

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

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

Aparecerá la siguiente salida.

Actualizar registro:

Dos métodos se definen principalmente en el controlador de recursos para actualizar un registro de base de datos. Estos son editar() y actualizar() donde los datos del registro se actualizan utilizando cualquier formulario editado. Pero aquí no se utiliza ningún formulario de edición. 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.

función pública editar ($ id)

$ usuario = DB :: select ('seleccionar * de usuarios donde id ='.$ id);
echo "El correo electrónico actual del usuario es". $ usuario [0] -> correo electrónico."
";
$ email = '[correo electrónico protegido]';
$ user = DB :: select ("Actualizar el conjunto de usuarios email = '$ email' where id =".$ id);
$ usuario = DB :: select ('seleccionar * de usuarios donde id ='.$ id);
echo "El correo electrónico del usuario después de la actualización es". $ usuario [0] -> correo electrónico;

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

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

Aparecerá la siguiente salida.

Eliminar el registro:

El método destroy () está definido para eliminar cualquier registro de la tabla. Pero la ruta para borrar el registro pasa de otro método. Aquí, he usado el show() método para crear un hipervínculo para eliminar el registro que se agrega al final del método.

espectáculo de función pública ($ id)

$ usuario = DB :: select ('seleccionar * de usuarios donde id ='.$ id);
echo "El nombre del usuario es". $ usuario [0] -> nombre."
";
eco "Borrar";

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

función pública destruir ($ id)

$ user = DB :: select ('Eliminar de usuarios donde id ='.$ id);
echo "El registro se borra";

Agrega la ruta en web.php archivo para llamar al destruir() método.

Route :: get ('/ users / delete / id', '[correo electrónico protegido]');

Después de hacer clic en el enlace eliminar, aparecerá el siguiente resultado.

Conclusión:

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

Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...
Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...