根据数据表创建model类
来源:互联网 发布:薄荷瘦身软件下载 编辑:程序博客网 时间:2024/06/08 13:45
这一次我是按着教程做一个yii的blog,首先就是建立相关的数据结构,在yii的demo文件夹里有包含了blog的sql文件,我用sqldesigner制作了表结构原形,这也是个神器了,能够简洁高效的设计数据库原型,更重要的是,免费。。。navicat的data moder是个更强大的模型设计工具,不过,让我去买正版那只能,呵呵。。。
说实话,照着教程做的,我现在还有些字段还不明白是干嘛用的,比如user表的aslt等等。。。照着继续吧,做到下面就知道干嘛的了。
在数据库中建立完成后,接下来对应用的配置文件进行修改配置文件是yiiblog\protected\config\main.php。在50行定义了db应用组件,下面后一段注释掉了的mysql的链接配置项,我们将未注释的db注释掉,然后打开mysql链接代码并填写相关信息即可完成mysql链接配置项。
然后打开yii提供的脚手架gii,打开方式在配置文件的21行,将模块配置里的gii部分去掉注释即可。在红色框里填写一个密码,即使用gii的密码。
创建控制器,创建CURD操作,创建表单,创建模型,创建模块。yii提供了两种模型:表单模型和active record。我的理解就是:表单模型是用来对表单数据进行验证等操作的。active record即活动记录正统解释是AR是ORM对象关系映射的一种实现,通俗的讲就是一个AR类对应了一张表,一个AR类的对象对应表中的一条记录,AR类中的每个成员属性对应了表中的一列。active record框架往往用来驱动MVC中的model层,这样我简单的理解为:我们使用active record来实现对数据库的各类操作。所以,对数据表的增删改查的前提是,存在一个对应的active record。由于数据库是我软肋,数据源的各种设计模式我十分难以明白,目前只能做这个浅显的理解。 首先点击model generator,会出现一个界面来选择需要映射的数据表。由于没有定义表前缀,所以需要敲出全部表名。不过gii提供了自动不全功能,会自动提示表名,也是很方便的。
由于配置文件中没有定义标签最,可以手动输入标前缀,或者直接写入配置文件。选择一张表,就tbl_user后,点击preview预览。
预览显示了即将创建的文件的位置和文件名(yii将所有php源码放置在根目录的protected下并添加了apache下的访问限制来保护源码,所以生成的文件根目录是相对protected而言的)。点击generate生成模型文件。
照此操作建立另外四张表的active record。到model目录下可以看到,新生成了五个文件,加上之前系统生成的两张表单模型,一共七个文件。
接下来为文章和评论创建相应的curd操作。gii提供了快速的curd建立方法,点击Crud Generator
我们需要根据active record来建立curd操作,所以在图中model class写入刚创建的模型。注意此处model名是区分大小写的,所以需要选择Post,因为先前生成的模型是根据驼峰命名法,类文件首字母大写。选择Post后下面controller会自动填写,然后点击预览即可。
gii会为应用程序建立如图中列出的文件,一个控制器和相关实现curd操作的视图文件。同理建立Comment相关的curd操作文件。建立完成后即可进行访问。访问的地址为:
http://localhost/yiiblog/index.php?r=post 或 http://localhost/yiiblog/index.php?r=post/index
其中r的第一个参数代表了控制器ID,即控制器文件去掉Controller后首字母小写的那个单词。r的第二个参数表示当前控制器下相对应的动作名。不填写是会使用配置文件中定义的默认动作。(同理,控制器为空则控制器为默认控制器)。
右侧定义了增加和管理文章的快捷键。点击创建文章会跳转到登陆页面。此处采用的还是自动生成的时候的设置,没有添加自定义的用户的操作。所以输入默提供的账号demo/demo或者admin/admin即可。其中demo不具备管理权限。
填写各项数据后会验证表单元素
如提示中的,作者一栏在数据库中定义为了int型,所以此处需要填写int。
同理创建commit的curd操作。
目前为止文章和评论还是完全独立的两部分,接下来需要通过程序来建立两者的虚拟关联。
0 0
- 根据数据表创建model类
- yii框架之gii创建数据表对应的model类
- J2EE进阶(七)利用SSH框架根据数据表建立model类
- 根据数据库创建ActiveRecord的Model类的GEM
- 根据Django Model动态生成数据表的方法
- Django 根据数据模型models创建数据表
- 今天根据PDM创建数据表遇见的问题
- mysql 根据user_id来分割批量创建数据表
- Oracle数据表根据表名生成Select语句和Model及JavaBean对象
- 根据SQLServer数据表生成C#实体类
- Model类的创建
- 创建model工具类
- hibernate中根据model的配置文件创建数据库
- mybatis generator 根据table 创建mapping、dao、model
- SQLServer根据表名创建三层架构的Model
- 数据表创建
- 创建数据表
- 创建数据表
- Managing Data in Containers
- Android Environment
- PL/SQL 存储过程的测试
- Matlab GUI界面(转)
- Openwrt X86 2014-08-17 版
- 根据数据表创建model类
- 如何将控制台的两行数,保存到两个数组中?
- j2ee中webservice示例二之测试webservice
- file的getPath getAbsolutePath和getCanonicalPath的不同
- 常用开源系统
- dll,.NET,Silverlight,jre,jvm和jdk
- android开发环境
- Codeforces Round #261 (Div. 2)
- ul(项目列表)-制作无须表格的菜单