sql >> Database teknologi >  >> RDS >> Mysql

Vælg mellem mange-til-mange forhold efterfølger

Det ser ikke ud til, at du definerede mange-til-mange-sammenhængen mellem mad og ingredienser. Sammenfattende skal du tilføje noget som dette til dine modeller:

Madmodel:

Food.belongsToMany(Ingredients, { through: Food_ingredients});

Ingrediensmodel:

Ingredients.belongsToMany(Food, { through: Food_ingredients});

Når du så vil forespørge, inkluderer du ikke "gennem"-modellen, men den anden model i relationen. I dit tilfælde:

Food.findAll({include: [
{
  model: Ingredients
}]}).then(responseWithResult(res)).catch(handleError(res));

Sequelize vil gøre det for dig. Bemærk, at hvis du giver dit forhold et alias, f.eks.:

Food.belongsToMany(Ingredients, {as 'someAlias', through: Food_ingredients});

Du skal tilføje dette alias i din indeslutning:

Food.findAll({include: [
{
  model: Ingredients, as 'someAlias'
}]}).then(responseWithResult(res)).catch(handleError(res));



  1. grant-fil på kun én database

  2. Tovejs DB-kryptering sikker selv fra Admin

  3. Fremmednøgler og NULL i mySQL

  4. mysqli_connect virker ikke