日志管理
实验四
任务:日志管理
自定义日志模型
日志的创建与更新
日志显示
日志管理
Active Record
这个实验的目的实现:
创建日志时,只列出需要的字段
自动保存create_time,update_time和author_id
Status显示文本而不是数字1,2,3
查看一下Post模型(yourblog)
Public function rules 什么意思?
Public function relations 什么意思?
日志管理
自定义日志模型
修改rules
修改relations
添加getUrl方法
修改lookup模型类
在代码中,我们指定了 title, content 和 status 属性是必填项;title 的长度不能超过 128;status 属性值应该是 1 (草稿), 2 (已发布) 或 3 (已存档);tags 属性应只允许使用单词字母和逗号。另外,我们使用 normalizeTags 来规范化用户输入的Tag,使Tag是唯一的且整齐地通过逗号分隔。最后的规则会被搜索功能用到,这个这里不讲,有兴趣的同学可自己研究。
日志管理
自定义日志模型
修改rules
修改relations
添加getUrl方法
修改lookup模型类
relations() 中声明的关系表明:
一篇日志属于一个作者,它的类是 User ,它们的关系建立在日志的 author_id 属性值之上;
一篇日志有多个评论,ment ,它们的关系建立在评论的 post_id 属性值之上。
这些评论应该按它们的创建时间排列,且评论必须已通过审核;
commentCount 关系有一点特别,它返回一个关于日志有多少条评论的一个聚合结果。
Active Record
Active Record
Active Record (AR) 是一个流行的对象-关系映射(ORM) 技术。
每个 AR 类代表一个数据表(或视图),
数据表(或视图)的列在 AR 类中体现为类的属性,
一个 AR 实例则表示表中的一行。
常见的 CRUD 操作作为 AR 的方法实现。因此,我们可以以一种更加面向对象的方式
访问数据。
例如,我们可以使用以下代码向 tbl_post 表中插入一个新行。
Active Record
定义 AR 类
要访问一个数据表,我们需要继承
CActiveRecord来定义一个 AR 类。
本例演示了代表 tbl_post 表的
AR 类的最简代码:
CActiveRecord是Cmodel的子类
是我们通常说的模型
可以使用Gii自动生成
Active Record
日志管理
自定义日志模型
修改rules
修改relations
添加getUrl方法
修改lookup模型类
getUrl方法是_view 显示一篇日志链接的需要,返回日志的链接
lookup的修改是为了返回 status[code]对应的文本来代替1,2,3这样的数字,
从而让用户觉得更直观。
日志管理
修改Lookup模型,添加函数:
yii 日志管理 来自淘豆网www.taodocs.com转载请标明出处.