https://www.youtube.com/watch?v=_VYz1TBbMIw
-
check_circle_outlineMódulo 1 | 8 clases
Introducción
expand_more -
check_circle_outlineMódulo 2 | 19 clases
Http
expand_more -
check_circle_outlineMódulo 3 | 11 clases
Bases de Datos
expand_more -
check_circle_outlineMódulo 4 | 24 clases
Buenas prácticas de desarrollo.
expand_more -
check_circle_outlineMódulo 5 | 14 clases
Autenticación
expand_more -
check_circle_outlineMódulo 6 | 14 clases
Relaciones en la base de datos.
expand_more-
done_all
Clase 1
Fundamentos de relaciones en la base de datos
-
done_all
Clase 2
Relaciones uno a muchos - El esquema
-
done_all
Clase 3
Relaciones uno a muchos - Los modelos
-
done_all
Clase 4
Nombres para asociaciones
-
done_all
Clase 5
Guardar relación uno a muchos
-
done_all
Clase 6
Relaciones en un proyecto real
-
done_all
Clase 7
Eager loading (Cargado anticipado)
-
done_all
Clase 8
Ejercicio - Implementa tu propio CRUD
-
done_all
Clase 9
Relaciones muchos a muchos
-
done_all
Clase 10
Integrando CRUD de Categorías
-
done_all
Clase 11
Tabla asociativa
-
done_all
Clase 12
Definir relación muchos a muchos
-
done_all
Clase 13
Crear relaciones muchos a muchos
-
done_all
Clase 14
Mostrar objetos de una relación muchos a muchos
-
-
check_circle_outlineMódulo 7 | 5 clases
Websockets (realtime)
expand_more -
check_circle_outlineMódulo 8 | 4 clases
Entorno de producción
expand_more -
check_circle_outlineMódulo 9.-
Examen del curso
expand_more-
done_all
Examen
Examen final del curso
-
13 comentario(s)
https://www.youtube.com/watch?v=_VYz1TBbMIw
Estos son mis apuntes del vídeo, quizás les sirvan mientras puedo regrabar el vídeo
Ahora que la relación está definida, vamos a mostrar los elementos que forman parte de esta relación. Para nuestro ejemplo, esto significa que al desplegar una tarea, se puedan ver sus categorías, y lo inverso, que podamos mostrar las tareas de una categoría.
¿Recuerdas cuando hablamos de eager loading? Es precisamente lo que vamos a hacer, vamos a abrir el controlador de tareas para indicar que queremos obtener el arreglo de categorías para una tarea.
Usaremos la acción show para mostrar las categorías de una tarea, para eso solo tenemos que indicar qué asociación queremos pre cargar junto con nuestro modelo. Hacer eso es tan simple como colocar el nombre de la asociación en el arreglo includes cuando hacemos una consulta. Como verás, ya habíamos trabajado con el arreglo include antes, es el encargado del precargado.
include:[
{
model: User,
as: 'user'
},
'categories'
]
Una vez que hicimos esto, podemos ir a la vista show.pug y desplegar las categorías. A diferencia de cuando trabajamos con el usuario, las categorías son un arreglo con todas aquellas relacionada con esta tarea:
ul
each category in task.categories
li= category.title
Ahora, para probar todo, vamos a reiniciar el servidor y luego, vamos a visitar una tarea
node server.js
ir a /tasks/1
Y ahí están, las categorías asociadas con esta tarea.
Considera ahora, como ejercicio hacer esto mismo pero para mostrar las tareas que pertenecen a una categoría, debería ser muy similar al código con el que hoy trabajamos.
Continuemos.
¡Hola! Si llegaste hasta aquí en el curso, necesito tu ayuda. ¿Podrías enviarme el proyecto del curso con el código antes de iniciar este vídeo a [email protected]?
Me ayudarías con esto a regrabar el vídeo y reemplazarlo.
Ya que no se han dignado en corregir sus videos por lo menos deberian de compartir el proyecto completo para que podamos darle solución:
Pesimo servicio: ★✰✰✰✰
///Para que a mi me funcionara tuve que hacer la relación así: (modelo tareas.js) Task.belongsToMany(models.Category, {through:'TaskCategories', as:'categories',foreignKey: 'taskId',otherKey: 'categoryId'});
//En el controlador modifique la función para guardar y actualizar store: function(req,res){ Task.create({ description: req.body.description, userId : req.user.id }).then(task =>{ //despues que retorna el objeto creado puedo usar addCategories let categoryIds = req.body.categories.split(","); task.addCategories(categoryIds).then(()=>{ res.redirect('/app/tasks/'); }); }); }, update: function(req,res){ //Busca la tarea , actualiza descripción y guarda, y con el objeto retornado por la promesa uso addCategories let task = Task.findByPk(req.params.id).then(task => { task.description = req.body.description; task.save().then(()=>{ let categoryIds = req.body.categories.split(","); task.addCategories(categoryIds).then(()=>{ res.redirect('/app/tasks/'+req.params.id); }); }); }); }
Clase 84
Mostrar objetos de una relación muchos a muchos
84/99