Tag: 关联

SailsJS v0.10由许多协会查找模型

我一直在享受v0.10中新的Sails关系,但是我目前面临的最大挑战是通过他们的协会来查找模型。 如果我已经填充了一个手动关联,比如一个ID数组,这将会非常容易。 但是,我似乎无法find用Sails关联来处理查找的正确方法。 我提供了一些示例代码,概述了两个模型,一个公司和一个用户。 公司可以有很多用户,而一个用户只能有一个公司。 这是一个非常简单的一对多关系,目标是find与用户ID匹配的所有公司。 ## Company.js name: type: 'string' required: true users: collection: 'User' via: 'company' ## User.js company: model: 'Company' required: true last_name: type: 'string' required: true first_name: type: 'string' required: true ## Lookup Users by Company ID of '2' User.find(where: company: 2).exec(console.log) # Result # [] – Array of users matching […]

如何引用与Sails 0.10.x的一对多关系的相关模型

我正在使用Sails.js版本0.10.x,刚刚开始尝试它的associactions东西。 在我的情况下,我有一个拥有多个文档的用户。 所以在/api/models/User.js我有: module.exports = { // snipped out bcrypt stuff etc attributes: { email: { type: 'string', unique: true, index: true, required: true }, documents: { collection: 'document', via: 'owner' }, } }; 并在/api/models/Document.js我有: module.exports = { attributes: { name: 'string', owner: { model: 'user' } } }; 在我的DocumentController我有以下几点: fileData = { name: file.name, […]

获得续集所属的许多协会的数量

我有两种模式, project和user在几个方面相互关联。 首先, project由具有以下关联的user拥有: Project.belongsTo(models.User, { as: 'Owner', foreignKey: 'userId' }); 其次, project和user通过喜欢 project的user相关联。 Project.belongsToMany(models.User, { as: 'UserLikes', through: models.ProjectLikes, foreignKey: 'projectId' }); User.belongsToMany(models.Project, { as: 'LikedProjects', through: models.ProjectLikes, foreignKey: 'userId' }); 第三,一个project和user也可以通过一个user作为一个project一部分通过一个angular色进行关联。 Project.belongsToMany(models.User, { as: 'Users', through: models.ProjectRoles, foreignKey: 'projectId' }); User.belongsToMany(models.Project, { as: 'Roles', through: models.ProjectRoles, foreignKey: 'userId' }); 我试图实现的是find所有的项目,并与他们一起返回相关的“喜欢”计数。 不过,我真的很难找出如何做到这一点。 我读过,我应该能够做到这样的事情: models.Project.findAll({ […]

Sequelize设置相关的值

我有两个模型, 员工和办公室 。 每个员工属于一个办公室,办公室有很多员工。 我很难找出如何使用Sequelize更新员工办公室。 Employee模型如下: let Employee = sequelize.define("Employee", { id: { field: 'id', type: DataTypes.INTEGER, primaryKey: true, allowNull: false, autoIncrement: false }, name: { field: 'name', type: DataTypes.STRING(255), allowNull: false } }, { freezeTableName: true, timestamps: false, deletedAt: false }) Employee.associate = models => { Employee.belongsTo(models.Office, { foreignKey: 'id' }) } Office模型如下: let […]

在Sequelize中加载关联

我将Sequelize整合到ActionHero中。 我的初始化程序执行以下操作: // configure the singleton api.sequelize.sequelize = new Sequelize( api.config.sequelize.database, api.config.sequelize.username, api.config.sequelize.password, api.config.sequelize ); // import models var dir = path.normalize(api.projectRoot + '/models'); fs.readdirSync(dir).forEach(function(file){ var nameParts = file.split("/"); var name = nameParts[(nameParts.length – 1)].split(".")[0]; api.models[name] = api.sequelize.sequelize.import(dir + '/' + file); }); // import associations var dir = path.normalize(api.projectRoot + '/models/associations'); // ??? 以下是/ […]

Sails.js协会

我从sails.js开始,我完全失去了我的SQL查询。 我有以下表格: genres +———–+————–+——+—–+ | Field | Type | Null | Key | +———–+————–+——+—–+ | id | int(6) | NO | PRI | | name | varchar(100) | NO | | | slug | varchar(255) | NO | | | type | varchar(32) | NO | | | parent_id | int(11) | YES | MUL […]

如何在sails的相关字段上查找查询

有没有可能在sails中查询关联的字段属性。 例如,我们来考虑这两个模型: 产品 : attributes: { name:{ type:'string' }, code:{ type:'string', required:true, unique:true }, inventory:{ collection:'inventory', via:'product' } } 库存 attributes: { product:{ model:'product', required:true }, quantity:{ type:'float' } } 现在有什么方法可以获得具有特定codes Products的Inventorylogging。 一种方法是获得这些特定codes products ,然后获得具有这些products Inventorylogging。 但有可能做一个查询查询来获得所需的结果吗? 我试过以下,但是这不会过滤code products 。 Inventory .find() .populate('product',{where:{code:{'contains':'something'}}}) .exec(function (err, inventories) { //do something })

如何在sequelize node.js的现有模型中添加多对多关联?

我想使用sequelize在我的节点应用程序中添加许多到许多关联。 我是新的ORM的续集。 我有一个eixsting模型user.js。 我想创build新的模型项目,并添加到多对多的关联 为此,我运行sequelize创build表和迁移创build现在在关联部分我做多对多创build 我发现多个这样做 Project.belongsToMany(User, {through: 'UserProject'}); 但我在哪里写User.belongsToMany(Project, {through: 'UserProject'}); 因为用户模式已经存在 第二件事,我想知道UserProject自动创build的UserProject或需要手动创build它?

从行中获取值,并与Sequelize关联

我使用Sequelize,MySQL和Node来编写Web应用程序。 对于我的大部分数据库需求,我通常会进行一些validation,然后提取我的模型(热切地与关联)并将它们发送回客户端,几乎总是按照原样(至less到现在为止)。 我写了一个小的实用函数getValuesFromRows从一个返回的行数组中提取值: getValuesFromRows: function(rows, valuesProp) { // get POD (plain old data) values valuesProp = valuesProp || 'values'; if (rows instanceof Array) { var allValues = []; for (var i = 0; i < rows.length; ++i) { allValues[i] = rows[i][valuesProp]; } return allValues; } else if (rows) { // only one object return rows[valuesProp]; […]

我对Sails.js水线一对一的关联逻辑感到困惑

所以我之所以混淆,是因为我是一个PHP开发人员,很多时候使用Laravel和FuelPHP 我不明白的是它自己的联想。 我的意思是,我想创build一个基本的hasOne / BelongsTo逻辑,具体如下 用户有一个configuration文件 configuration文件属于一个用户 我习惯了以下build立(Laravel风格) 用户表 id | username | email | password ————————————— 1 | My Username | My email | 1234568 Users_profile表 user_id | first_name | last_name —————————————- 1 | My First name | My Last name 然后我只是这样定义模型 用户模型 class Users extends Eloquent { public function profile() { return $this->hasOne('profile'); […]