zoukankan      html  css  js  c++  java
  • 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类:定义两个模型之间的一对一关系。

  • 相关阅读:
    关于 HTML5 的 11 个让人难以接受的事实
    【转】zookeeper 的监控工具
    arm+linux 裸机环境搭建之安装工具篇(eclipse)
    Unity 利用NGUI2.6.3做技能冷却的CD效果
    spring boot打包文件后,报错No such file or directory
    机器学习实战读书笔记(3)朴素贝叶斯
    机器学习实战读书笔记(2)决策树
    机器学习实战读书笔记(1)
    No operations allowed after connection closed--转
    简单理解Socket
  • 原文地址:https://www.cnblogs.com/molashaonian/p/7242088.html
Copyright © 2011-2022 走看看