场景 :a表关联b表,b表关联c表,a表与c表没有直接关联,需要在a表的数据中展示c表的数 据;
tp框架中一键crud功能并不支持跨表关联,因此粗腰手动修改:
1、首先要确认a、b、c三表的模型文件都存在;
2、其次需要找到b、c两表的模型文件并打开对关联预载入进行修改:
将相应的关联由
![](https://img-blog.csdnimg.cn/img_convert/e27a80649da53c321cea81df92b09a58.png)
改为
![](https://img-blog.csdnimg.cn/img_convert/61909d6ffaa84537208bd3d87a10dcff.png)
且需要根据hasOne()所需的参数对现有的参数进行修改,然后去掉后面的
![](https://img-blog.csdnimg.cn/img_convert/c49167dcc8083f871a3bd0fd01448470.png)
到此模型就改好了(注:有时候需要将hanOne()里的所填参数中外键与主键的位置调换一下);
3、找到a表的控制器文件,对里面的代码进行修改;
找到里面的数据查询语句
![](https://img-blog.csdnimg.cn/img_convert/f2e1557fc7b6773e6e803e50b41cfacb.png)
将with('b')改为with('b.c'),这样就可以查出c表的数据了,如果在对查询出来的数据有如下操作:
![](https://img-blog.csdnimg.cn/img_convert/fc351c5cf5173dcec6a65635cd61be7d.png)
需要将b表的此操作进行注释,