zurmo(八)-数据库表分析及某些功能的页面实现
来源:互联网 发布:福建顶点软件 垃圾 编辑:程序博客网 时间:2024/06/05 06:35
1.zurmo的数据库比较特别 , 它是没有那些状态表的之类的小表的。有的只是主表和多对多的关系表。zurmo是通过以下的这些表来实现状态之类信息的存储的。
1.customfield 2.basecustomfield 3.customfielddata
如果只有一个model的一个状态的话,在主表的中加一个customfield_id也可以,如果要加入多个model的状态的话,就不需要加customfield_id了,但是需要额外的字段了。(xxxx_customfield_id,yyyy_customfield_id等等)
3个表的关系如图:
从图可以很明显的看到它们之间的关系。
在 customfielddata表中存的就是那些小表的具体信息。以序列化的形式存入.就是 serializeddata 字段的值。
1.首先在module的 xxxxDefaultDataMaker.php 文件中定义好。重写的make()方法里具体的实现就是设置 那些小表的具体信息。
已 AccountsDefaultDataMaker.php 为例:
数据库序列化值如下:a:9:{i:0;s:10:"Automotive";i:1;s:7:"Banking";i:2;s:17:"Business Services";i:3;s:6:"Energy";i:4;s:18:"Financial Services";i:5;s:9:"Insurance";i:6;s:13:"Manufacturing";i:7;s:6:"Retail";i:8;s:10:"Technology";}Array( [0] => Automotive [1] => Banking [2] => Business Services [3] => Energy [4] => Financial Services [5] => Insurance [6] => Manufacturing [7] => Retail [8] => Technology)这是我自己打印出来的值。
2.步骤1完成之后,在model中的relations的配置。
'industry'=>array(static::HAS_ONE,'OwnedCustomField',static::OWNED, static::LINK_TYPE_SPECIFIC, 'industry'),
数组的第一个参数是 表之间的关系 ,’OwnedCustomField’表示的自定义的字段。第4个参数和第5个参数是一起的,第5个参数表示 account 表的一个字段的一部分 。有一个 industry_customfield_id 字段。至于为什么这样子命名以及第四个参数的意思,在zurmo的源码里注释有说。(PS:在class BeanModel里有说)
3.在customFields配置如下:
'customFields' => array('industry' => 'Industries','type' => 'AccountTypes',),
4.在 xxxEditAndDetailsView 要加上对应的内容。
5.最后,不要忘记了在URL里加上 ?resolveCustomData=1 .执行这步之后数据库的customfielddata表里才有这个模块的这个数据,一开始是没有的。 (PS:如果自己在代码中加了一些新的值,一定要做这步,不然数据库是不会更新的,页面自然也不会显示了)
6.刷新页面,就可以发现所有的状态值都可以显示了。也可以正常的存到的数据库了。
- zurmo(八)-数据库表分析及某些功能的页面实现
- 实现某些功能的命令整理
- 自定义HttpModule实现某些功能的例子
- zurmo(六)-表单页面
- Flex实现页面跳转的功能可用性分析
- Flex实现页面跳转的功能可用性分析
- Flex实现页面跳转的功能可用性分析
- Flex实现页面跳转的功能可用性分析
- ExtJS学习笔记八,复杂页面功能实现
- Zurmo开发中的注意问题1-数据库管理工具的选择
- 一个电子商务网站的系统结构及功能实现分析
- JSP页面查询及增丶删功能实现
- zurmo(十九)-文件目录功能
- zurmo(二十)-Home页面
- 页面loading功能的实现
- zurmo的安装
- 使用JDBC连接MySQL数据库--典型案例分析(八)----实现员工数据的分页查询
- 如何在App中实现朋友圈功能之八页面加载功能的逻辑与实现——箭扣科技Arrownock
- terracotta+tomcat+apache集群配置
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置
- Ant工具与MySQL数据库
- java中String的“==”和equals判断相等性
- file(内存)----输入流---->【程序】----输出流---->file(内存)
- zurmo(八)-数据库表分析及某些功能的页面实现
- java基础之Java变量命名规范 (转载)
- 同一个Controller里的同一个Service实例,在当前的Controller里的不同方法中状态不一致
- 第一篇博客哦
- kali linux上为GPU安装显卡驱动
- Linux下安装DB2数据库步骤
- [读书笔记]30 天自制操作系统 day8 鼠标控制与32位模式切换
- lombok的安装以及使用
- weex sdk集成到Android工程二. weex sdk集成到Android工程