微信小程序商城全栈开发 作业笔记 (十六)Theme表的完成
1.多对多关系
说明:梨子为新品又属于美味世界,product属于多个theme专题
一个专题下包括多个商品,theme包含多个product
注意:多对多需要三个表(中间表 不需要为它建模块 记录专题Id和本身id)
定义一下模型,注意顺序
定义一下接口
定义一下路由
(注意:要在后面加一个参数,方便区分)
测试会出现错误
原因:TP5会默认配置先定义的路由
在config.php改一下,使用完整路由
2.定义关联关系并使用
查询业务代码,这次还是用封装
(抱歉抱歉,圈错地方了,这里应该在控制器的,没看到)
测试一下,返回了我们想要的结果
隐藏字段,保留需要的(pivot中间表属性)
3.数据库字段冗余的合理利用
利用数据冗余,在product里重复使用 “main_img_url" 减少对于 img_id 的查询(两者id要对应),不用关联image模型,以减少查询时间,建议数量多的时候使用。看看这张图:
(不要滥用)
利用 读取器 main_img_url的拼合成完整图片路径