Sencha Touch2 -- 11.1:定义具有关联关系的模型

在Sencha Touch2.0中,可以定义不同模型之间的关联关系。例如,在开发博客网站的时候,可以首先定义用户(User)模型,然后为用户定义文章(Article)模型。一个用户可以发表多篇文章,因此可在用户模型与文章模型之间建立一对多的关联关系,在文章模型与用户模型之间建立多对一的关联关系。一篇文章可以拥有多个读者所发表的多篇评论,因此定义评论模型,并且在文章与评论模型之间建立一对多的关联关系。一个用户可以在网站中发表多篇评论,因此可在用户模型与评论模型之间建立一对多的关联关系。这3个模型的定义方法如下:

<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类:定义两个模型之间的一对一关系。

关注公众号,分享干货,讨论技术


posted on   EvanLong  阅读(100)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示