Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để lấy dữ liệu từ bảng khác bằng cách sử dụng dữ liệu cột từ một bảng khác?

Bạn nên tạo mô hình như thế này

api / models / Email.js

Các thuộc tính
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

Các thuộc tính
attributes: {
   username : {
     type: 'string',
     unique: true
   },
   userEmail : {
      collection:'email', //here is also model name
      via: 'owner'
   }
}

Sau đó

Nhận người dùng từ email

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

Nhận email từ người dùng

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

Giờ đây, bạn có thể truy cập vào dữ liệu của mình từ cả hai mô hình của mình.

Thử in hai lệnh trên, bạn sẽ thấy dữ liệu của mình chứa dữ liệu từ bảng liên quan.

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

Đây là phản hồi của tôi.

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

Thông tin thêm: http://sailsjs.com/ tài liệu / khái niệm / mô hình-và-orm / hiệp hội / một-một




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ánh xạ một Truy vấn gốc tới một POJO, khi tôi không có bất kỳ Đối tượng nào trong dự án của mình?

  2. Làm cách nào để thêm nhận xét trong MySQL?

  3. MySQL:int bigint Vs

  4. Tính toán delta (chênh lệch của hàng hiện tại và hàng trước đó) trong sql

  5. Cách thiết lập sao chép không đồng bộ từ Galera Cluster sang máy chủ MySQL độc lập với GTID