Autor: LÓPEZ QUIJADO, José
Páginas: 528
Coedición: Alfaomega, RC Libros
$898
Consultar disponibilidad
Autor: LÓPEZ QUIJADO, José
Páginas: 528
Coedición: Alfaomega, RC Libros
Consultar disponibilidad
En este libro se muestra cómo empezar a usar y obtener el máximo provecho de Laravel, un framework de versión 5.8, la cual es la más utilizada actualmente. Laravel es sencillo de entender y tiene una curva de aprendizaje más pronunciada al principio, pero se suaviza conforme el usuario se va familiarizando. Estas páginas tienen como propósito introducir al lector en el desarrollo de aplicaciones de alto nivel, ya que inicia con actividades básicas de instalación, configuración y funcionamiento para después mostrar cómo crearlas y personalizarlas con PHP con el fin de rediseñar su uso y obtener un mejor rendimiento; posteriormente se muestran prácticas para utilizar la estructura modular de Laravel, la inyección de dependencias, la gestión de enrutamientos y el motor de plantillas Blade, y otras técnicas con el objeto de realizar aplicaciones PHP eficientes, seguras y sostenibles. Esta publicación, como la mayoría de los textos sobre programación, contiene por una parte el texto en sí, que presenta conceptos y técnicas de desarrollo web de última generación y, por otra parte, contiene los códigos de todos los ejercicios prácticos que complementan el libro.
VENTAJAS
• La estructura didáctica de este libro se constituye como un manual ideal tanto para desarrolladores incipientes como para expertos que deseen solidificar sus conocimientos.
• El lenguaje utilizado en este libro es sencillo y asequible a todo tipo de lectores.
• Cada proyecto está explicado detalladamente.
• Cuenta con un índice alfabético para una localización puntual de algún concepto de interés particular.
CONOZCA
• La estructura y funcionamiento de Laravel.
• Las posibilidades del motor de plantillas Blade.
• Los aspectos básicos de un análisis de proyecto para crear una aplicación.
• Los distintos métodos para trabajar con colecciones de objetos.
APRENDA
• A crear un CRUD para gestionar una tabla de artículos.
• A gestionar bases de datos y formularios en Laravel.
• A trabajar con bases de datos con múltiples tablas.
• A diseñar consultas a bases de datos.
DESARROLLE SUS HABILIDADES PARA
• Eliminar un registro definitivamente de la base de datos o de la forma Soft Delete.
• Gestionar relaciones de tablas entre sí.
• Crear rutas y controladores en Laravel.
• Optimizar el listado de operadores.
ÍNDICE
INTRODUCCIÓN ……………………………………………………………………………………………… XV
PARTE I. ASOMÁNDONOS A LARAVEL 5.8……………………………………………………………… 1
CAPÍTULO 1 – EL PRIMER PROYECTO …………………………………………………………………….. 3
PHP ARTISAN ………………………………………………………………………………………………………… 4
¿Y POR QUÉ USAR ARTISAN? ……………………………………………………………………………………….. 5
USANDO LARAGON ………………………………………………………………………………………………… 10
CAPÍTULO 2 – ESTRUCTURA DE LARAVEL ……………………………………………………………. 11
LA ESTRUCTURA DE DIRECTORIOS Y ARCHIVOS ………………………………………………………………….. 11
EL ARCHIVO composer.json …………………………………………………………………………….. 11
EL DIRECTORIO app/ ………………………………………………………………………………………. 14
EL DIRECTORIO bootstrap/ ……………………………………………………………………………… 15
EL DIRECTORIO config/ …………………………………………………………………………………… 15
EL DIRECTORIO database/ ………………………………………………………………………………. 15
EL DIRECTORIO public/ …………………………………………………………………………………… 16
EL DIRECTORIO resources/ ……………………………………………………………………………… 16
EL DIRECTORIO routes/ …………………………………………………………………………………… 17
EL DIRECTORIO vendor/ ………………………………………………………………………………….. 17
LOS ARCHIVOS DEL DIRECTORIO RAÍZ ………………………………………………………………. 17
LA GENERACIÓN DE LA CLAVE DE LA APLICACIÓN ……………………………………………… 18
ESTRUCTURA DE UNA APLICACIÓN LARAVEL …………………………………………………………………….. 19
UN EJEMPLO DE LA ESTRUCTURA LÓGICA ……………………………………………………………………….. 20
UNA VISTA CREADA CON EL MOTOR BLADE …………………………………………………………………….. 22
CAPÍTULO 3 – AGREGAR PAQUETES …………………………………………………………………… 25
CAPÍTULO 4 – INTRODUCCIÓN A LAS BASES DE DATOS …………………………………………. 29
LA CONFIGURACIÓN BÁSICA ………………………………………………………………………………………. 29
INSTALAR NUEVOS MOTORES …………………………………………………………………………………….. 30
EL ORM ELOQUENT ………………………………………………………………………………………………. 31
LAS MIGRATIONS ………………………………………………………………………………………….. 32
LAS FACTORIES ……………………………………………………………………………………………… 32
EL SEEDER …………………………………………………………………………………………………….. 32
LOS MODELOS ………………………………………………………………………………………………. 32
CAPÍTULO 5 – HOLA, MUNDO …………………………………………………………………………… 35
LA FORMA CHAPUCERA ……………………………………………………………………………………………. 35
PRIMERA MEJORA ………………………………………………………………………………………………….. 37
LAS COSAS BIEN HECHAS ………………………………………………………………………………………….. 41
EXCEPCIONES……………………………………………………………………………………………………….. 43
CAPÍTULO 6 – MÁS SOBRE PETICIONES ………………………………………………………………. 45
PARÁMETROS EN LAS RUTAS ……………………………………………………………………………………… 45
LA PETICIÓN COMO ARGUMENTO ………………………………………………………………………………… 48
LOS HELPERS DE VOLCADO DE DATOS ……………………………………………………………………………. 50
CAPÍTULO 7 – ENTENDER LAS RUTAS ………………………………………………………………….. 53
LA LISTA DE LAS RUTAS …………………………………………………………………………………………….. 53
CREAR UN NUEVO ÁMBITO DE RUTAS ……………………………………………………………………………. 55
CREANDO EL CONTROLADOR ……………………………………………………………………………………… 57
REGISTRANDO EL ÁMBITO DE RUTAS …………………………………………………………………………….. 57
LOS MÉTODOS DE CONTROLADOR Y VISTAS …………………………………………………………………….. 60
CAPÍTULO 8 – OTRAS LLAMADAS A RUTAS ………………………………………………………….. 63
CONFIGURANDO EL ENRUTAMIENTO …………………………………………………………………………….. 64
ENVÍOS CON CUERPO ……………………………………………………………………………………………… 65
COMBINANDO GET Y POST ………………………………………………………………………………………… 69
INYECCIÓN DE DEPENDENCIAS ……………………………………………………………………………………. 70
EL HELPER REQUEST() ……………………………………………………………………………………………… 71
MÁS SOBRE ENVÍO DE PARÁMETROS …………………………………………………………………………….. 71
COLISIÓN DE PARÁMETROS ……………………………………………………………………………………….. 72
CAPÍTULO 9 – NOMBRES DE RUTAS ……………………………………………………………………. 73
ASIGNAR ALIAS A LAS RUTAS ……………………………………………………………………………………… 73
ENLACES A RUTAS Y ALIAS …………………………………………………………………………………………. 74
CAPÍTULO 10 – EL SERVIDOR VIRTUAL ………………………………………………………………… 77
CREANDO UN SERVIDOR VIRTUAL ………………………………………………………………………………… 78
PROBANDO EL INVENTO …………………………………………………………………………………………… 79
CAPÍTULO 11 – EL MOTOR DE PLANTILLAS DE LARAVEL (BLADE) …………………………….. 81
CREAR UNA VISTA COMPLETA …………………………………………………………………………………….. 82
EVALUAR O NO EVALUAR ………………………………………………………………………………………….. 83
CREAR Y USAR LAYOUTS …………………………………………………………………………………………… 85
REUTILIZANDO EL LAYOUT …………………………………………………………………………………………. 89
CONDICIONALES ……………………………………………………………………………………………………. 90
BUCLES ………………………………………………………………………………………………………………. 92
BUCLES SOBRE ARREGLOS VACÍOS ………………………………………………………………………………… 96
CUANDO LOS ELEMENTOS SON ARREGLOS ………………………………………………………………………. 97
EL OBJETO $LOOP ………………………………………………………………………………………………….. 99
CAPÍTULO 12 – PROFUNDIZANDO EN BLADE ……………………………………………………… 101
COMENTARIOS ……………………………………………………………………………………………………. 101
INTEGRANDO BOOTSTRAP Y JQUERY …………………………………………………………………………… 102
INTEGRANDO MATERIALIZE ……………………………………………………………………………………… 102
CREANDO DIRECTIVAS PROPIAS DE BLADE …………………………………………………………………….. 103
INCLUYENDO VISTAS PARCIALES ………………………………………………………………………………… 107
SEPARANDO LOS ESTILOS ………………………………………………………………………………………… 108
PARTE II. INICIACIÓN A BD’S Y FORMULARIOS …………………………………………………… 111
CAPÍTULO 13 – MÁS SOBRE BASES DE DATOS …………………………………………………… 113
PREPARANDO EL ESCENARIO ……………………………………………………………………………………. 113
CREANDO UNA BASE DE DATOS …………………………………………………………………………………. 116
LA TABLA DE ARTÍCULOS …………………………………………………………………………………………. 117
RECREAR LA MIGRACIÓN ………………………………………………………………………………. 123
EL MODELO ……………………………………………………………………………………………………….. 124
LA PROPIEDAD $table …………………………………………………………………………………… 125
LAS PROPIEDADES $fillable Y $hidden …………………………………………………………….. 126
LA FACTORY ……………………………………………………………………………………………………….. 128
EL SEEDER …………………………………………………………………………………………………………. 130
CAPÍTULO 14 – MODIFICAR LA TABLA ………………………………………………………………. 133
BASE DE DATOS CON FAKER …………………………………………………………………………………….. 133
BASE DE DATOS REAL …………………………………………………………………………………………….. 134
REVIRTIENDO LA MIGRATION ……………………………………………………………………….. 136
EL MODELO ……………………………………………………………………………………………………….. 137
CAMBIOS EN LAS COLUMNAS ……………………………………………………………………………………. 137
PROBLEMAS CON DOCTRINE …………………………………………………………………………. 139
CAPÍTULO 15 – EL CRUD DE LA TABLA DE ARTÍCULOS (I) ……………………………………… 141
CREAR UN CONTROLADOR ………………………………………………………………………………………. 141
LA CLASE DEL MODELO …………………………………………………………………………………. 145
EL ENRUTAMIENTO PARA EL CONTROLADOR ………………………………………………………………….. 145
UNA PEQUEÑA PRUEBA ……………………………………………………………………………….. 146
LEYENDO TODOS LOS ARTÍCULOS ……………………………………………………………………………….. 148
USANDO UNA DIRECTIVA PERSONALIZADA …………………………………………………….. 150
COLECCIONES ……………………………………………………………………………………………………… 151
CAPÍTULO 16 – EL CRUD DE LA TABLA DE ARTÍCULOS (II) ……………………………………… 153
MOSTRAR UN ARTÍCULO ………………………………………………………………………………………… 153
CAPÍTULO 17 – EL CRUD DE LA TABLA DE ARTÍCULOS (III) …………………………………….. 161
EL FORMULARIO PARA NUEVOS ARTÍCULOS …………………………………………………………………… 162
EL TOKEN CSRF ……………………………………………………………………………………………. 165
RECIBIENDO EL FORMULARIO …………………………………………………………………………………… 166
VALIDANDO EL FORMULARIO …………………………………………………………………………………… 167
CREANDO LAS REGLAS DE VALIDACIÓN ………………………………………………………….. 167
VALIDANDO CON LAS REGLAS ……………………………………………………………………….. 169
LA VALIDACIÓN HA PASADO …………………………………………………………………………………….. 169
LA GRABACIÓN “LARGA” ………………………………………………………………………………. 170
LA GRABACIÓN “CORTA” ……………………………………………………………………………… 170
LA GRABACIÓN “MIXTA” ………………………………………………………………………………. 171
EL FINAL DE LA GRABACIÓN ………………………………………………………………………….. 172
LA VALIDACIÓN HA FALLADO ……………………………………………………………………………………. 172
LA VARIABLE $errors ……………………………………………………………………………………. 173
LOS MENSAJES EN ESPAÑOL …………………………………………………………………………. 174
LOS CAMPOS APARECEN VACÍOS …………………………………………………………………… 175
CAPÍTULO 18 – EL CRUD DE LA TABLA DE ARTÍCULOS (IV) …………………………………….. 177
PREPARANDO LA LISTA DE ARTÍCULOS …………………………………………………………………………. 177
EL MÉTODO EDIT() Y LA VISTA DE EDICIÓN…………………………………………………………………….. 178
VALIDACIÓN Y ACTUALIZACIÓN …………………………………………………………………………………. 185
LA GRABACIÓN ……………………………………………………………………………………………. 186
CAPÍTULO 19 – EL CRUD DE LA TABLA DE ARTÍCULOS (V) ……………………………………… 187
PREPARANDO LA LISTA DE ARTÍCULOS …………………………………………………………………………. 187
EL MODAL DE CONFIRMACIÓN ……………………………………………………………………… 189
EL FORMULARIO ………………………………………………………………………………………….. 190
EL CÓDIGO jQuery ……………………………………………………………………………………….. 191
BORRANDO EN EL CONTROLADOR ……………………………………………………………………………… 193
CAPÍTULO 20 – CONSULTAS A LA BASE DE DATOS ………………………………………………. 195
A TRAVÉS DEL MODELO, DE FORMA IMPLÍCITA ……………………………………………………………….. 196
ERRORES FRECUENTES …………………………………………………………………………………. 197
A TRAVÉS DEL MODELO, DE FORMA EXPLÍCITA ……………………………………………………………….. 198
COLECCIONES ……………………………………………………………………………………………… 199
OTROS MÉTODOS DEL MODELO ……………………………………………………………………. 199
EL QUERY BUILDER ………………………………………………………………………………………………. 203
CAPÍTULO 21 – DEPURACIÓN ………………………………………………………………………….. 205
DUMP-SERVER ……………………………………………………………………………………………………. 205
TINKER …………………………………………………………………………………………………………….. 206
TINKER Y LA BASE DE DATOS …………………………………………………………………………. 207
CAPÍTULO 22 – CONSIDERACIONES FINALES………………………………………………………. 209
EL ÚLTIMO REGISTRO INSERTADO ………………………………………………………………………………. 209
CAMBIOS EN EL ENRUTADO ……………………………………………………………………………………… 210
PARTE III. BASES DE DATOS CON RELACIONES ……………………………………………………. 213
CAPÍTULO 23 – ESTRUCTURA DE DATOS ……………………………………………………………. 215
CREANDO EL PROYECTO …………………………………………………………………………………………. 216
DISEÑANDO LAS TABLAS …………………………………………………………………………………………. 217
CREANDO LAS MIGRATIONS ……………………………………………………………………………………… 221
LA MIGRATION DE operators …………………………………………………………………………. 223
LA MIGRATION DE tours ……………………………………………………………………………….. 225
LA MIGRATION DE customers ………………………………………………………………………… 228
LA MIGRATION DE LA TABLA PIVOTE (customer_tour) ……………………………………… 229
CREANDO LOS MODELOS ………………………………………………………………………………………… 230
EL MODELO Operator …………………………………………………………………………………… 231
EL MODELO Tour …………………………………………………………………………………………. 234
EL MODELO Customer ………………………………………………………………………………….. 236
RELACIONES ENTRE MODELOS ………………………………………………………………………. 237
CREANDO LAS FACTORIES ……………………………………………………………………………………….. 237
LA FACTORY OperatorFactory ……………………………………………………………………….. 238
LA FACTORY TourFactory ………………………………………………………………………………. 239
LA FACTORY CustomersFactory ……………………………………………………………………… 240
CREANDO EL SEEDER ……………………………………………………………………………………………… 241
LA EJECUCIÓN …………………………………………………………………………………………………….. 244
CIRUGÍA CORRECTORA …………………………………………………………………………………………… 244
EN DESARROLLO ………………………………………………………………………………………….. 245
EN PRODUCCIÓN …………………………………………………………………………………………. 248
CAPÍTULO 24 – RUTAS, VISTAS Y CONTROLADORES ……………………………………………. 251
EL ESCENARIO BÁSICO ……………………………………………………………………………………………. 251
LOS CONTROLADORES ……………………………………………………………………………………………. 254
LAS RUTAS …………………………………………………………………………………………………………. 255
CAPÍTULO 25 – EL LISTADO DE LOS OPERADORES ………………………………………………. 259
EL CONTROLADOR ………………………………………………………………………………………………… 262
LA PRIMERA FASE DE LA VISTA…………………………………………………………………………………… 266
PREPARANDO LA INTERACTIVIDAD ……………………………………………………………………………… 268
EL ESTADO DE LOS OPERADORES ……………………………………………………………………………….. 269
BUSCAR POR NOMBRE O CIUDAD ……………………………………………………………………………….. 271
ACOTAR POR RANGO DE OPERADOR ……………………………………………………………………………. 272
ORDENACIÓN POR NOMBRE O CIUDAD ………………………………………………………………………… 273
LA PAGINACIÓN …………………………………………………………………………………………………… 275
EN EL CONTROLADOR …………………………………………………………………………………… 275
EN LA VISTA ………………………………………………………………………………………………… 276
EL PROBLEMA …………………………………………………………………………………………….. 276
EL MÉTODO paginate() ………………………………………………………………………………… 278
EL NÚMERO DE RESULTADOS ……………………………………………………………………….. 279
LOS ENLACES COMPLEMENTARIOS ……………………………………………………………………………… 282
EL BOTÓN DE NUEVO OPERADOR ………………………………………………………………….. 282
EL ENLACE DE EDICIÓN…………………………………………………………………………………. 283
EL ENLACE DE VER OPERADOR ………………………………………………………………………. 283
EL ENLACE DE CAMBIAR ESTADO …………………………………………………………………… 284
EL ENLACE DE VER LA LISTA DE VIAJES ……………………………………………………………. 286
CAPÍTULO 26 – MEJORAR EL LISTADO DE OPERADORES ………………………………………. 289
FRAGMENTANDO EL CÓDIGO …………………………………………………………………………………… 289
EL HTML …………………………………………………………………………………………………….. 290
EL JAVASCRIPT …………………………………………………………………………………………….. 292
CAPÍTULO 27 – FUNCIONALIDADES CON LOS OPERADORES …………………………………. 297
EL CAMBIO DE ESTADO ………………………………………………………………………………………….. 297
LOS VIAJES DEL OPERADOR ……………………………………………………………………………………… 300
LOS ENLACES AL LISTADO DE VIAJES ………………………………………………………………. 301
EN EL CONTROLADOR ………………………………………………………………………………….. 301
LA VISTA DE LA LISTA DE VIAJES …………………………………………………………………….. 303
VER LA FICHA DE UN OPERADOR ……………………………………………………………………………….. 306
EN EL CONTROLADOR ………………………………………………………………………………….. 307
LA VISTA …………………………………………………………………………………………………….. 307
CREAR UN NUEVO OPERADOR ………………………………………………………………………………….. 309
LAS REGLAS DE VALIDACIÓN …………………………………………………………………………. 312
EL MENSAJE DE ERROR ………………………………………………………………………………… 314
EDITAR UN OPERADOR …………………………………………………………………………………………… 315
EL MÉTODO edit() ……………………………………………………………………………………….. 316
LA VISTA DE EDICIÓN …………………………………………………………………………………… 316
CAPÍTULO 28 – LOS VIAJES ……………………………………………………………………………… 321
PREPARANDO LO NECESARIO ……………………………………………………………………………………. 321
CREAR UN NUEVO VIAJE …………………………………………………………………………………………. 323
EL FORMULARIO DE NUEVO VIAJE …………………………………………………………………. 323
LA VISTA DE NUEVO VIAJE ……………………………………………………………………………. 324
DE VUELTA AL CONTROLADOR ………………………………………………………………………. 327
EDITAR UN VIAJE …………………………………………………………………………………………………. 329
CONCLUYENDO …………………………………………………………………………………………… 330
CAPÍTULO 29 – LOS CLIENTES ………………………………………………………………………….. 331
LA LISTA DE VIAJES ……………………………………………………………………………………………….. 331
LA LISTA DE CLIENTES DE CADA VIAJE …………………………………………………………………………… 332
EL CONTROLADOR ……………………………………………………………………………………….. 332
LA VISTA …………………………………………………………………………………………………….. 334
DE VUELTA AL CONTROLADOR ………………………………………………………………………. 335
CONCLUYENDO …………………………………………………………………………………………………… 336
PARTE IV. DE COLECCIONES Y CONSULTAS ………………………………………………………… 337
CAPÍTULO 30 – MÁS SOBRE BASES DE DATOS (SQLITE) ……………………………………….. 339
PREPARANDO EL ESCENARIO ……………………………………………………………………………………. 339
EL PROYECTO ………………………………………………………………………………………………. 340
PREPARANDO LA APLICACIÓN ……………………………………………………………………….. 340
EL DISEÑO DE LA BASE DE DATOS ………………………………………………………………….. 341
LAS MIGRATIONS …………………………………………………………………………………………. 343
LOS MODELOS …………………………………………………………………………………………….. 344
LAS FACTORIES ……………………………………………………………………………………………. 344
EL SEEDER …………………………………………………………………………………………………… 344
CREAR LA BASE DE DATOS ……………………………………………………………………………………….. 345
LA BASE DE DATOS ………………………………………………………………………………………. 346
LA CREACIÓN ………………………………………………………………………………………………. 347
CAPÍTULO 31 – SOBRE LAS CONSULTAS …………………………………………………………….. 349
LA RAZÓN DE SER DE $FILLABLE …………………………………………………………………………………. 349
SI LOS NOMBRES DE CAMPOS NO COINCIDEN …………………………………………………. 352
¿Y SI NO TENEMOS $fillable?…………………………………………………………………………. 352
LAS CONSULTAS …………………………………………………………………………………………………… 353
PASAR UNA CONSULTA DIRECTAMENTE …………………………………………………………. 354
CONSULTAS DE SELECCIÓN ……………………………………………………………………………. 355
CONSULTAS DE NO SELECCIÓN………………………………………………………………………. 369
REGISTRO DE CONSULTAS EN TINKER ………………………………………………………………………….. 371
CAPÍTULO 32 – COLECCIONES …………………………………………………………………………. 373
CREAR UNA COLECCIÓN ………………………………………………………………………………………….. 374
LOS MÉTODOS DE LAS COLECCIONES …………………………………………………………………………… 375
EL PUNTO DE PARTIDA ………………………………………………………………………………… 376
MAPEAR UNA COLECCIÓN …………………………………………………………………………….. 378
PARTIR UNA COLECCIÓN EN SUBCOLECCIONES ……………………………………………….. 380
DETERMINAR SI UNA COLECCIÓN CONTIENE UN ELEMENTO …………………………….. 380
CONVERTIR UNA COLECCIÓN A JSON ……………………………………………………………… 380
AÑADIR DATOS DE UNA COLECCIÓN A OTRA …………………………………………………… 381
CREAR NUEVOS MÉTODOS ………………………………………………………………………………………. 382
CREAR EL SERVICIO ………………………………………………………………………………………. 383
FILTRAR UNA COLECCIÓN ……………………………………………………………………………… 384
PARTE V. RELACIONES MÁS COMPLEJAS …………………………………………………………… 387
CAPÍTULO 33 – RELACIONES M-N ENTRE TRES TABLAS ………………………………………… 389
PREPARANDO EL ESCENARIO ……………………………………………………………………………………. 389
EL PROYECTO ………………………………………………………………………………………………. 390
LAS MIGRATIONS ………………………………………………………………………………………… 390
LOS MODELOS …………………………………………………………………………………………….. 391
LAS FACTORIES ……………………………………………………………………………………………. 397
EL SEEDER …………………………………………………………………………………………………… 398
CAPÍTULO 34 – LISTAR TAREAS CON TRES TABLAS ………………………………………………. 403
LA PREPARACIÓN VISUAL ………………………………………………………………………………………… 404
EL CONTROLADOR ……………………………………………………………………………………………….. 405
LA VISTA DEL LISTADO DE TAREAS ………………………………………………………………………………. 409
CAPÍTULO 35 – EDITAR, CREAR Y BORRAR TAREAS ……………………………………………… 411
EDICIÓN DE TAREAS ……………………………………………………………………………………………… 411
CREACIÓN DE TAREAS ……………………………………………………………………………………………. 414
ELIMINAR TAREAS ………………………………………………………………………………………………… 417
DE MAYÚSCULAS Y MINÚSCULAS ……………………………………………………………………………….. 419
CAPÍTULO 36 – EDITAR, BORRAR Y CREAR RELACIONES ……………………………………….. 421
BORRAR RELACIONES …………………………………………………………………………………………….. 422
EDITAR RELACIONES ……………………………………………………………………………………………… 423
EL CONTROLADOR ……………………………………………………………………………………….. 424
LA VISTA …………………………………………………………………………………………………….. 427
LA ACTUALIZACIÓN ……………………………………………………………………………………… 429
CREAR NUEVAS RELACIONES ……………………………………………………………………………………. 430
EL CONTROLADOR ……………………………………………………………………………………………….. 431
LA VISTA …………………………………………………………………………………………………….. 432
GRABAR LA NUEVA RELACIÓN ………………………………………………………………………. 433
CAPÍTULO 37 – RELACIONES 1-N SOBRE LA MISMA TABLA …………………………………… 435
EMPEZANDO POR LO MÁS FÁCIL ……………………………………………………………………………….. 436
LA MIGRATION ……………………………………………………………………………………………. 436
EL MODELO ………………………………………………………………………………………………… 437
LA BASE DE DATOS ………………………………………………………………………………………. 439
PROBANDO EL FUNCIONAMIENTO ……………………………………………………………………………… 439
CAPÍTULO 38 – RELACIONES MULTINIVEL 1-N (I) ………………………………………………… 445
PREPARANDO EL ESCENARIO ……………………………………………………………………………………. 445
LOS LISTADOS DE CATEGORÍAS ………………………………………………………………………………….. 447
EL CONTROLADOR ……………………………………………………………………………………….. 447
LA VISTA …………………………………………………………………………………………………….. 448
CREAR NUEVAS CATEGORÍAS ……………………………………………………………………………………. 449
EL SERVICIO DE LECTURA DE CATEGORÍAS ……………………………………………………………………… 451
DENTRO DEL SERVICIO …………………………………………………………………………………. 452
CAPÍTULO 39 – RELACIONES MULTINIVEL 1-N (II) ……………………………………………….. 455
EDICIÓN DE CATEGORÍAS ………………………………………………………………………………………… 455
EL CONTROLADOR ……………………………………………………………………………………….. 456
LA VISTA …………………………………………………………………………………………………….. 458
DE VUELTA AL CONTROLADOR ………………………………………………………………………. 459
BORRADO DE CATEGORÍAS ………………………………………………………………………………………. 459
EL CONTROLADOR ……………………………………………………………………………………….. 460
REFLEXIONES SOBRE EL BORRADO ………………………………………………………………………………. 461
CAPÍTULO 40 – RELACIONES M-N SOBRE LA MISMA TABLA ………………………………….. 463
LAS TABLAS ………………………………………………………………………………………………………… 464
PREPARANDO EL PROYECTO …………………………………………………………………………………….. 465
LAS MIGRATIONS …………………………………………………………………………………………………. 466
EL MODELO ……………………………………………………………………………………………………….. 468
EL PROYECTO ……………………………………………………………………………………………………… 470
EL LISTADO DE CATEGORÍAS …………………………………………………………………………………….. 470
LA PAGINACIÓN …………………………………………………………………………………………… 471
CATEGORÍAS Y SUBCATEGORÍAS ……………………………………………………………………. 474
LA VISTA …………………………………………………………………………………………………….. 476
LA ASOCIACIÓN DE CATEGORÍAS ………………………………………………………………………………… 478
LA DESASOCIACIÓN DE CATEGORÍAS ……………………………………………………………………………. 481
APÉNDICES LARAVEL 5.8 Y 6 ……………………………………………………………………………. 483
A. CORREOS SIMULADOS ……………………………………………………………………………….. 485
CONFIGURANDO NUESTRA APLICACIÓN ……………………………………………………………………….. 486
PROBANDO EL SISTEMA ………………………………………………………………………………………….. 487
B. INSTALANDO LARAGON ……………………………………………………………………………… 489
INSTALANDO LARAGON ………………………………………………………………………………………….. 490
CONFIGURANDO phpMyAdmin ……………………………………………………………………… 491
CONFIGURANDO PHP …………………………………………………………………………………… 491
MIGRAR DESDE OTRA APLICACIÓN ……………………………………………………………………………… 492
LAS BASES DE DATOS ……………………………………………………………………………………. 492
LOS PROYECTOS …………………………………………………………………………………………… 494
LOS SERVIDORES VIRTUALES …………………………………………………………………………. 494
Y YA ESTÁ ……………………………………………………………………………………………………. 496
C. USAR SPARKPOST ……………………………………………………………………………………… 497
ÍNDICE ALFABÉTICO ………………………………………………………………………………………. 499