我正在使用sails-hook-sequelize在我的sails應用中加載作爲ORM的sequelize。但是,我的控制器和策略設置(即僅創建其方法)取決於模型。我需要運行sails-hook-sequelize可安裝鉤子,然後運行控制器和策略掛鉤(目前正在運行它並且控制器/策略未能加載)。我怎樣才能做到這一點? T在原生鉤子之前加載可安裝的鉤子
在此先感謝。
編輯:下面是一些代碼來說明什麼,我試圖完成:
UserController.js
let Endpoint = require('../classes/Endpoint');
let endpoint = new Endpoint(User);
Object.assign(endpoint, {
find
});
module.exports = endpoint;
function find(req, res, next) {
User.findAll(
{
where: req.query,
include: [
{
model: Privilege,
include: [
{
model: Account,
where: {
accountPkey: {
$in: AuthorizationService.accountsForPrivileges(req.tokenData.privileges, ['ADMINISTRATOR', 'OFFICE MANAGER'])
}
}
}
]
}
]
})
.then(users => res.ok(users))
.catch(err => res.serverError(err));
}
基本上,我有實例,然後添加方法添加到默認端點類。你可以看到Endpoint類有一個模型參數。但是,當該鉤子運行時,模型還不存在,因爲它們是由第三方鉤子定義的(使用sequelize)。
我編輯了OP,嘗試解釋我想要完成的事情,也許你有一些想法。我無法真正地混淆模型(我不認爲),因爲我在一個已經存在的數據庫之上建立了一個非常深思熟慮的架構。 – pQuestions123
我想我有辦法解決這個問題。我怎樣才能指定我的項目/已安裝的鉤子的順序? (即我想創建一個項目掛鉤,它會在sails-hook-sequelize之後運行) – pQuestions123
這是一個很好的問題,但它值得單獨發佈,以防其他人有相同的問題!這個問題的答案仍然存在,「你不能這樣做」,暫時。 – sgress454