您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
thinkphp关联模型与分页效果
发布时间:2016-01-13 11:49:58编辑:雪饮阅读()
自定义填充模型:
注意:回调函数与普通函数的区别
普通函数:系统内置函数
回调函数:当前模型自定义的函数
填充条件:
1. Model:: MODEL_INSERT 或者 1 :新增数据时候填充(默认)
2. Model:: MODEL_UPDATE 或者 2 :更新数据时候填充
3. Model:: MODEL_BOTH 或者 3 :全部情况下填充
附加规则:
1. string:字符串,表示填充内容为字符串(默认)
2. function:使用函数,表示填充的内容是一个函数返回值
3. callback:使用方法,表示填充的内容是一个当前 Model 的方法返回值
4. field:字段,表示填充的内容是一个其他字段的值
自定义填充模型规则实例:
使用自定义填充模型使用D实例化
Left控制器获取留言信息数据集:
注意下一个uid下为何有重复的相同用户名存在:
多个留言可能都属于一个用户的,那么使用留言表的数据集作为遍历的最大值,做为遍历的字段,那么就会存在遍历出来的用户会有重复的。
Left模版遍历数据集:
自定义模型中创建关联模型:
大键User对应多对一中后者的表名
子键mapping_type为关联类型,此处为BELONGS_TO即多对一
子键class_name为关联控制器名称,此处有无皆是无所谓,备用。
子键Foreign_key为多对一中前者表的外键
子键mapping_name为映射名称,可以自定义。
子键mapping_fields指定映射字段后则不会将整个关联表全部呈现,仅仅呈现该映射字段。
子键as_fields可将指定字段直接提到一维数组中,“:unname”可以指定别名,以防关联表的外键字段名称与当前表的字段名称相同,相同的字段名称存在于一维数组中甚是不妥。
子键mapping_fields与子键as_fields必须搭配使用。
使用关联模型则该模型必须继承RelationModel:
使用关联模型后在对应控制器中则需要将relation开启关联:
关联模型使用后可以直接在视图层调用关联表字段:
格式化时间戳:
控制器中使用分页:
模版中调用分页标签:
控制器中可配置分页呈现形式:
整个thinkphp留言板至此结束。下面分享下所需的完整源码:
模块(控制器):
模版(视图):
模型:
驱动:
关键字词:thinkphp,关联模型,分页