美文网首页
ThinkPHP5相关知识点记录

ThinkPHP5相关知识点记录

作者: 若是如风 | 来源:发表于2020-03-21 20:57 被阅读0次

1.分页操作paginate()

方法使用:参数是每页显示几条数据

后台代码:


前台代码:用后台传过来的变量,调用render()方法
实际效果:

2.多表关联with(),belongsTo()多对一

comment表:评论表
article表:文章表
前台评论表显示 image.png

comment(评论表)中,有个article_id代表此评论属于哪篇文章
前台显示需要获取到article(文章表)title
comment(评论表)模型里多对一使用belongsTo()


comment(评论表)控制器里:使用with('article')关联文章表
这里就使用到关联的article表里的title字段
这是另一个一对多方法使用:hasMany()

3.表联合删除

以上面的为例,如果删除文章表,那对应的评论也应该被删除,这时候就需要文章表关联一下评论表

article(文章表)模型里,定义一个一对多的方法


article(文章表)控制器里关联comment表,且一起删除together()

4.验证器使用,整体的数据传递过程

验证思路:数据提交后传递的路线:html -> controller -> model -> validate

html:提交数据
controller:整理数据
model:处理数据
validate:验证数据
表单:


提交:ajax方法
把数据整理好,传给adminmodel的register()方法
admin模型先将数据给验证器的register场景验证

验证器里先定义规则,再写验证场景,不同场景,验证不同数据

5.验证码的captcha

表单里,写个input:提交验证码值和img:显示验证码


控制器的createVerify()方法里传入验证码的配置,返回一个能在前端显示的图
前端js里面写一个验证码刷新方法,参数是为了防止页面缓存,导致没法刷新新的图

6.三元运算符在模板里的使用

注意:模板里的代码,得用''括起来

 <td>{$vo.status == 1 ? '正常': '<span style="color: red">禁用</span>'}</td>
 {if $vo.is_super == 1}<td style="color: red">超级管理员</td>{else/}<td>普通管理员</td>{/if}

7.关联表

注意:


image.png

7.关联表with()设置属性

方式1:闭包:对关联预加载的表里的属性进行设置,
with(['comment'=>function($query){$query->order('create_time','desc');}])

方式2:关联2个1级,1个2级, 再根据2级里的字段,进行排序
一级:img,property
二级:imgUrl(img.imgUrl)

image.png

8.事务

注意:为了数据库操作的安全严谨性
开启事务Db::startTrans();
数据操作........
提交事务Db::commit();
数据回滚Db::rollback();

相关文章

  • ThinkPHP5相关知识点记录

    1.分页操作paginate()方法使用:参数是每页显示几条数据后台代码:前台代码:用后台传过来的变量,调用ren...

  • 《图解HTTP》读书笔记(3)

    记录方式: 主要根据目录记录主要的知识点,HTTP相关知识点书中写的很容易理解,建议阅读《图解HTTP》 Part...

  • 《图解HTTP》读书笔记(1)

    记录方式: 主要根据目录记录主要的知识点,HTTP相关知识点书中写的很容易理解,建议阅读《图解HTTP》 1.Pa...

  • 《图解HTTP》读书笔记(2)

    记录方式: 主要根据目录记录主要的知识点,HTTP相关知识点书中写的很容易理解,建议阅读《图解HTTP》 3.Pa...

  • CALayer相关知识点记录

  • iOS Runloop

    这里记录下iOS中Runloop相关的知识点,以备以后复习总结。 先来说下Runloop相关的概念: Runloo...

  • java后端春招知识宝典

    Java面试相关知识点 这篇笔记主要用来记录一个大牛的java相关知识点 一、计算机网络 网络上的知识,基本上以理...

  • Android相关知识点博客记录

    自定义属性 Android自定义View(二、深入解析自定义属性) Android中XML的命名空间、自定义属性 ...

  • vue 相关知识点链接记录

    vue项目用到的知识点:1:Node.js vue使用NPM作为项目的依赖包管理工具链接:http://www...

  • Android系统的启动

    本文用于记录Android系统相关知识点。主要是文字总结~ 一、Android系统架构 Android系统架构分为...

网友评论

      本文标题:ThinkPHP5相关知识点记录

      本文链接:https://www.haomeiwen.com/subject/oyouyhtx.html