Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać dane z innej tabeli za pomocą danych kolumnowych z innej tabeli?

Powinieneś stworzyć taki model

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'
   }
}

Następnie

Pobierz użytkownika z poczty e-mail

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

Uzyskaj e-mail od użytkownika

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

Teraz możesz uzyskać dostęp do swoich danych zarówno z dwóch modeli.

Spróbuj wydrukować dwa powyższe polecenia, a zobaczysz, że Twoje dane zawierają dane z powiązanej tabeli.

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

To jest moja odpowiedź.

[
    {
        "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"
    }
]

Więcej informacji :http://sailsjs.com/ dokumentacja/koncepcje/modele-i-orm/stowarzyszenia/jeden do jednego




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać datę w bazie danych MySQL?

  2. Masowa aktualizacja Sqlalchemy w MySQL działa bardzo wolno

  3. Ograniczenia terminologiczne MySQL a różnica kluczy obcych?

  4. Wybierz 3 najnowsze rekordy, w których wartości jednej kolumny są różne

  5. MySQL:jak mogę zobaczyć WSZYSTKIE ograniczenia w tabeli?