简体   繁体   English

Ember.js hasMany/belongsTo 自定义外键

[英]Ember.js hasMany/belongsTo custom foreign key

I would like to add an employee belongsTo a business and a business hasMany employees relationship but the foreign key is businessId instead of business_id .我想补充的employee属于关联一个business和一个business的hasMany employees关系,但foreign keybusinessId而不是business_id Where can I configure Ember to allow businessId to be the foreign key?我在哪里可以配置 Ember 以允许businessId作为外键?

In fact how can I make modelId the format for all foreign keys?事实上,我怎样才能让modelId成为所有外键的格式?

we are using Ember data 1.13 , ember-cli 1.13我们正在使用Ember data 1.13ember-cli 1.13

controllers/employee.js控制器/员工.js

import DS from 'ember-data';

export default DS.Model.extend({
  business: DS.belongsTo('business', { async: true })
});

controllers/business.js控制器/business.js

import DS from 'ember-data';

export default DS.Model.extend({
  employees: DS.hasMany('employee', { async: true })
});

You can implement a custom serializer to transform the desired key in your JSON payload to match the property defined in your model:您可以实现自定义序列化程序来转换 JSON 负载中所需的键,以匹配模型中定义的属性:

  //in app/serializers/employees
  import Ember from 'ember';
  import DS from 'ember-data';

  export default DS.RESTSerializer.extend({
    normalizeHash: {
      employees: function(hash) {
        hash.business_id = hash.businessId;
        delete hash.businessId;
      return hash;
    }
  }
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM