<span style="font-size:14px;"> //定义用户模型 Ext.define('User',{ extend: 'Ext.data.Model', config: { fields: ['id'], hasMany: [ //在用户模型与文章模型之间建立一对多的关联关系 {model: 'Article', name: 'articles'}, //在用户模型与评论模型之间建立一对多的关联关系 {model: 'Comment', name: 'comments'} ] } }); </span>
<span style="font-size:14px;"> //定义文章模型 Ext.define('Article',{ extend: 'Ext.data.Model', config: { fields: ['id', 'user_id'], //在文章模型与用户模型之间建立多对一的关联关系 belongsTo: 'User', //在文章模型与评论模型之间建立一对多的关联关系 hasMany: {model: 'Comment', name: 'comments'} } }); </span>
<span style="font-size:14px;"> //定义评论模型 Ext.define('Comment',{ extend: 'Ext.data.Model', config: { fields: ['id', 'user_id', 'article_id'] } }); </span>
在Sencha Touch2.0中,使用如下3个类定义模型之间的关系
1)Ext.data.association.HasMany类:定义两个模型之间的一对多的关系。例如在上面这段代码示例中,因为一个用户可以发表多篇文章,所以在定义用户模型的时候,使用hasMany配置选项来指定文章模型。
2)Ext.data.association.BelongsTo类:定义两个模型之间的多对一的关系。例如在上面这段代码示例中,因为一个用户可以发表多篇文章,所以在定义文章模型的时候,使用BelongsTo配置选项来指定用户模型。
3)Ext.data.association.HasOne类:定义两个模型之间的一对一关系。