第一步:
根据情况分析表关系 一对一 ,一对多, 多对多
banner表和banner_item的关系:很明显,是一对多的,这是正向来说的,反向来看,一个 banner_item只能属于一个banner,是一对一的,总体我们说是一对多的。如果反向也是一对多我们才能说是多对多的。注意要查看关系要从正反向两方面来看待。这里我们的业务是只能允许一个banner_item只能属于一个banner,所以就一对多了,如果我们的业务允许一个banner_item可以属于多个banner,那就是多对多,看业务需求来处理。
banner 主表 banneritem 关系表 image
搭建 模块 控制器 模型 路由
控制器:
模型:
image数据表中的url是一个相对路径,不是一个绝对路径,from字段如果为1表示图片存储在本地服务器上的,如果from字段为2,则表示存储在网络上的(云端存储)。如果from为2,数据表中的url就是一个完整的url路径。如果from为1,则存储在本地上,建议为相对路径。为什么要写相对路径呢?因为我们配置虚拟域名的时候暂时固定了为z.cn,如果把url写完整的话,即包括域名和目录等,那数据表的数据就容易写死,以后如果域名和名录出现变更就不好修改了,如果我们写相对路径的话,图片路径也可以根据相应域名和目录来写出适合的完整url路径。
如何设置图片url的完整路径呢?首先我们需要配置好域名和一系列目录,我们就要配置配置文件,一般我们如果有自己的业务就自己建立一个配置文件来为我们的业务服务。在application建立一个extra就是TP5会自动加载的一个配置文件目录,然后创建一个setting配置文件。
获取图片
1.Extra (固定文件名extra 不可改)的文件在 application 下 和模块同名
Extra 下PHP的文件名可以随便取名;
2. 在 image(自己的图片表名) 模型下
效果图:
到
通过 config (配置文件)拿到entra 中的 setting.img_prefix
路由: