2016-10-25 86 views
0

我請點擊此鏈接,並試圖顯示數據sailsjs單向關聯實施

http://sailsjs.org/documentation/concepts/models-and-orm/associations/one-way-association

,但我「在‘字段列表’未知列‘shop.building_detail’」

得到了錯誤

這是帆錯誤還是我做錯了什麼?

有我的數據庫設計,我在下面

database design

店型號代碼:

module.exports = { 
    autoPK:false, 
    attributes : { 
    shop_id : { 
    primaryKey : true, 
    type : 'int', 
    unique: true, 
    columnName : 'shop_id' 
    }, 
    shop_floor : { 
    type : 'string' 
    }, 
    shop_room : { 
    type : 'string' 
    }, 
    shop_build : { 
    type : 'int', 
    foreignKey:'true' 
    }, 
    building_detail : { 
    model : 'building' 
    } 
} 
}; 

建築模型:

module.exports = { 
    autoPK:false, 
    attributes : { 
    build_id : { 
     primaryKey : true, 
     type : 'int', 
     unique: true, 
     columnName : 'build_id' 
    }, 
    build_name : { 
     type : 'string' 
    }, 
    build_address : { 
     type : 'string' 
    }, 
    build_latitude : { 
     type : 'float' 
    }, 
    build_longitude : { 
     type : 'float' 
    }, 
    build_visit_count : { 
     type : 'int' 
    }, 
    build_status : { 
     type : 'string' 
    }, 
    build_status_last_update_time : { 
     type : 'time' 
    } 
    } 
    }; 

回答

0

與數據庫的設計,您Shop模型可能如下所示:

Shop.js

module.exports = { 
    autoPK:false, 
    attributes : { 
    shop_id : { 
     primaryKey : true, 
     type : 'int', 
     unique: true, 
     columnName : 'shop_id' 
    }, 
    shop_floor : { 
     type : 'string' 
    }, 
    shop_room : { 
     type : 'string' 
    }, 
    shop_build : { 
     model: 'Building' 
    } 
    } 
}; 

Sails.js與Building模型的主鍵自動關聯shop_build

當你創建一個小店,只需指定該建築的價值shop_build

Shop.create({ 
    shop_floor: "Some floor", 
    shop_room: "Some room", 
    shop_build: 8 // <-- building with build_id 8 
}) 
.exec(function(err, shop) { }); 

而當你進行店鋪查詢,可以填充建築細節:

Shop.find() 
.populate('shop_build') 
.exec(function(err, shops) { 
    // Example result: 
    // [{ 
    // shop_id: 1, 
    // shop_floor: 'Some floor', 
    // shop_room: 'Some room', 
    // shop_build: { 
    //  build_id: 8, 
    //  build_name: 'Some building', 
    //  ... 
    // } 
    // }] 
}); 

Waterline documentation on associations瞭解更多詳情。

+0

解決了我的問題,非常感謝 –