sql >> Databasteknik >  >> RDS >> Mysql

Hur får man data från en annan tabell med hjälp av kolumndata från en annan tabell?

Du borde skapa en sådan här modell

api/models/Email.js

attributes: {
    email : {
        type: 'email',
        unique: true
    },
    owner : {
        model:'user',  //here put your model name 
        unique: true   //put unique here because it's one by one association
   }
}

api/models/User.js

attributes: {
   username : {
     type: 'string',
     unique: true
   },
   userEmail : {
      collection:'email', //here is also model name
      via: 'owner'
   }
}

Sedan

Hämta användare från e-post

Email.find().populate('owner')

Få e-post från användaren

User.find().populate('userEmail')

Nu kan du komma åt dina data både från dina två modeller.

Försök att skriva ut två kommandon ovan så ser du att dina data innehåller data från relaterad tabell.

Email.find().populate('owner').exec(function(err, records) {
    res.json(records)
});

Detta är mitt svar.

[
    {
        "owner": {
            "username": "test",
            "id": 1,
            "createdAt": "2016-11-23T13:45:06.000Z",
            "updatedAt": "2016-11-23T13:45:06.000Z"
        },
        "email": "[email protected]",
        "id": 1,
        "createdAt": "2016-11-23T13:45:06.000Z",
        "updatedAt": "2016-11-23T13:45:06.000Z"
    }
]

Mer information :http://sailsjs.com/ dokumentation/koncept/modeller-och-orm/föreningar/en-till-en




  1. ASP.NET använder SqlConnection connect MySQL

  2. Hur man hittar namnet på en begränsning i MySQL

  3. 11 SQL Server-index bästa praxis för förbättrad prestandajustering

  4. Hur hanterar man för många samtidiga anslutningar även efter att ha använt en anslutningspool?