richclient:emberjs:data:retations

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
richclient:emberjs:data:retations [2018/02/05 01:14] – créée jcheronrichclient:emberjs:data:retations [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
  
 ===== OneToOne ===== ===== OneToOne =====
 +**belongsTo** des 2 côtés :
 <sxh javascript;title:app/models/user.js> <sxh javascript;title:app/models/user.js>
 import DS from 'ember-data'; import DS from 'ember-data';
Ligne 17: Ligne 17:
 export default DS.Model.extend({ export default DS.Model.extend({
   profile: DS.belongsTo('user')   profile: DS.belongsTo('user')
 +});
 +</sxh>
 +
 +
 +===== OneToMany =====
 +**hasMany** d'un côté :
 +<sxh javascript;title:app/models/blog-post.js>
 +import DS from 'ember-data';
 +
 +export default DS.Model.extend({
 +  comments: DS.hasMany('comment')
 +});
 +</sxh>
 +
 +**belongsTo** de l'autre :
 +<sxh javascript;title:app/models/comment.js>
 +import DS from 'ember-data';
 +
 +export default DS.Model.extend({
 +  blogPost: DS.belongsTo('blog-post')
 +});
 +</sxh>
 +
 +===== ManyToMany =====
 +**hasMany** des 2 côtés :
 +<sxh javascript;title:app/models/blog-post.js>
 +import DS from 'ember-data';
 +
 +export default DS.Model.extend({
 +  tags: DS.hasMany('tag')
 +});
 +</sxh>
 +
 +<sxh javascript;title:app/models/tag.js>
 +import DS from 'ember-data';
 +
 +export default DS.Model.extend({
 +  blogPosts: DS.hasMany('blog-post')
 +});
 +</sxh>
 +
 +==== Inverses explicites ====
 +Il est possible de spécifier l'attribut **inverse**, en particulier lorsque 2 models sont associés plusieurs fois :
 +
 +<sxh javascript;title:app/models/blog-post.js>
 +import DS from 'ember-data';
 +
 +export default DS.Model.extend({
 +  comments: DS.hasMany('comment', {
 +    inverse: 'redPost'
 +  })
 }); });
 </sxh> </sxh>
  • richclient/emberjs/data/retations.1517789678.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)