• Inicio
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso Profesional de Backend!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso Profesional de Backend

Video Mostrar objetos de una relación muchos a muchos

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

¡Desbloquea vídeos ilimitados! Sube a Premium

Necesitas premium para acceder a este contenido. Suscríbete por $26USD al mes

Suscribirme
  • check_circle_outline
    Módulo 1 | 8 clases

    Introducción

    expand_more
  • check_circle_outline
    Módulo 2 | 19 clases

    Http

    expand_more
  • check_circle_outline
    Módulo 3 | 11 clases

    Bases de Datos

    expand_more
  • check_circle_outline
    Módulo 4 | 24 clases

    Buenas prácticas de desarrollo.

    expand_more
  • check_circle_outline
    Módulo 5 | 14 clases

    Autenticación

    expand_more
  • check_circle_outline
    Mó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_outline
    Módulo 7 | 5 clases

    Websockets (realtime)

    expand_more
  • check_circle_outline
    Módulo 8 | 4 clases

    Entorno de producción

    expand_more
  • check_circle_outline
    Módulo 9.-

    Examen del curso

    expand_more
    • done_all

      Examen

      Examen final del curso

13 comentario(s)

Juan

25 Mayo 22

more_vert
  • Resuelta
Hice un video para los que no pudieron hacer funcionar el código, espero que les sirva

https://www.youtube.com/watch?v=_VYz1TBbMIw

Juan Manuel De Simone

22 Julio 21

more_vert
  • Resuelta
Una lástima que el video anterior haya quedado inconcluso ya que el curso venía de 10. Todo lo que se hizo en el video anterior y éste no lo pude completar.

Uriel Hernández

19 Noviembre 20

more_vert
  • Resuelta

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.

Uriel Hernández

19 Noviembre 20

1
more_vert
  • Resuelta

¡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.

Ver respuestas (1)

José Angel Hernandez Alvarez

12 Noviembre 20

more_vert
  • Resuelta

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: ★✰✰✰✰

Ver respuestas (1)

Bruno Mazzocchi

05 Agosto 20

more_vert
  • Resuelta
Quede confundido con lo que paso en esta parte, supongo que es porque el video anterior esta incompleto

Andres Tejada

07 Julio 20

2
more_vert
  • Resuelta
El vídeo anterior esta inconcluso,  se debería actualizar.

Mauricio Osses

03 Mayo 20

5
more_vert
  • Resuelta
Uriel, favor completar video anterior o indicar el código para hacerlo funcionar como lo hace en este video y poder continuar con el curso. saludos

Daniel

07 Agosto 19

11
more_vert
  • Resuelta
Iba muy bien el curso hasta el video anterior, me parece una falta de respeto con los usuarios que no lo hayan arreglado, la explicación de este tema quedara inconclusa por ahora. Por favor corrijanlo pronto.
Ver respuestas (1)

Juan Sebastian Calle

27 Mayo 19

8
more_vert
  • Resuelta

Saludos, 

///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);
            });
          });
      });
  }

Ver respuestas (3)

Cargar más comentarios

Clase 84

Mostrar objetos de una relación muchos a muchos

arrow_back

84/99

Curso Profesional de Backend