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

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

Sencha Touch2 -- 11.1:定义具有关联关系的模型的更多相关文章

  1. 【翻译】Sencha Touch2.4 The Layout System 布局

    [翻译]The Layout System 布局 In Sencha Touch there are two basic building blocks: componentsand containe ...

  2. Sencha Touch2 工作笔记

    Sencha Touch2 工作笔记 Ext.dataview.List activate( this, newActiveItem, oldActiveItem, eOpts ) Fires whe ...

  3. 【概率论】1-1:概率定义(Definition of Probability)

    title: [概率论]1-1:概率定义(Definition of Probability) categories: Mathematic Probability keywords: Sample ...

  4. c++11 用户定义字面量

    c++11 用户定义字面量 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...

  5. Sencha Touch2 时间轴ListPanel

    直接贴代码 timeline.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&quo ...

  6. sencha touch2 动画问题

    最近在review一个项目的代码, 发现返回操作比较乱,很多"从哪里来,到哪里去的操作"被写的一塌糊涂; 按照ios系统的进场出场动画(人家的体验还是很好的,必须借鉴)为标准,使用 ...

  7. Cordova3+sencha touch2.x 环境搭建

    1.安装 nodejs 2.安装 cordova: npm install -g cordova 3.创建一个工程: cordova create MyApp com.example.MyApp My ...

  8. 11.css定义下拉菜单

    注意点: 1.设置a标签的width 和 height 的时候,直接设置是没用的,可以以这样两种方式设置 (1). display:block; (2). float:left; 2.设置下拉菜单,最 ...

  9. scala学习手记11 - 类定义

    这里会通过与Java比较的方式来说明scala是如何创建类的. 先来看一下Java中是如何定义一个类的: public class Car { private final int year; priv ...

随机推荐

  1. CSS3实现3D球体旋转动画

    html <div class="ball-box"> <div class="ball"> <div class="l ...

  2. Java Swing 图形界面开发(目录)

    Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...

  3. 【jQuery】 资料

    [jQuery] 资料 1. 选择器 http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp 2. 事件 http://www.w3sch ...

  4. Vue学习(三):数据绑定语法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Qt QML之不显示标题栏、边框

    原文连接:http://blog.csdn.net/u010780613 我使用的Qt版本是Qt 5.3.0,Qt Creator 是3.1.1. QML做界面实在太方便了,动画效果很不错. 创建一个 ...

  6. spring+apache dbcp +oracle 连接池配置以及优化

    特此记录 <!-- 数据源配置, 使用应用中的DBCP数据库连接池 --> <bean id="dataSource" class="org.apach ...

  7. 为 Ubuntu/Anaconda/pip 添加国内下载源

    背景 正在看 tensorflow-lite 压缩模型的部分,结果 tutorial 一上来就要卸旧版安装 tf-nightly (新版?反正小白下就vans了) 然而好不容易才编译好源码舍不得删.又 ...

  8. K-Means和FCM聚类

    K均值聚类是基于原型的.划分的聚类方法.聚类数K由用户指定,初始的K个聚类中心随机选取,然后将每个点分派到最近的聚类中心,形成K个簇,接下来重新计算每个簇的聚类中心,重复上一步,直到簇不发生变化或达到 ...

  9. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

  10. HDU 4431 Mahjong(枚举+模拟)(2012 Asia Tianjin Regional Contest)

    Problem Description Japanese Mahjong is a four-player game. The game needs four people to sit around ...