文章目录




回顾添加操作

这里是添加的操作

1.第一个框是实现三级联动

2.第二个框是根据关联关系添加另一张表的子段,还有隐藏字段并设置默认值

3.第三个框就是忽略的字段,这里边写的所有字段,都会直接添加到数据库,如果数据库么有这个字段就会报错

【laravle项目】@20 商品管理的显示_数据库

查看添加的数据

这是俩个表的数据

【laravle项目】@20 商品管理的显示_关联关系_02

【laravle项目】@20 商品管理的显示_数据库_03

实现效果

要实现获取添加的这个商品的所有父类

实现跨表的字段获取数据

【laravle项目】@20 商品管理的显示_字段_04

实现步骤

下面这俩个框就是实现上面的俩个需求的代码

【laravle项目】@20 商品管理的显示_数据库_05

首先我们看一下商品分类的做法

这个value就是从数据库获取出来的分类id的值

然后通过模型查询这一组数据

最后有一个full_name这个实在分类模型里边定义的访问器,在之前应该说过,就是获取所有分类值得一个获取器

【laravle项目】@20 商品管理的显示_laralve_06

详解full_name实现过程

首先在控制器会直接调用full_name

1.在getFullNameAttribute的第一行代码里边可以看到$ this->ancestors

2.$ this->ancestors会直接调用getAncestorsAttribute这个方法,在这里里边查询出这个分类的所有父级分类

3.getAncestorsAttribute这里里边有$ this->possess_ids同样他也会调用上边的getPossessIdsAttribute这个方法,从而把数据库possess这个字段进行处理,转为数组,从而在getAncestorsAttribute这里可以获取到所有的父级

4.最后在getFullNameAttribute这里边使用pluck只获取name的这个字段

【laravle项目】@20 商品管理的显示_关联关系_07

以上就是实现商品的所有父级

【laravle项目】@20 商品管理的显示_数据库_08

实现商品主图显示

最后就是实现这个图片了

【laravle项目】@20 商品管理的显示_关联关系_09

实现代码

参考文档:https://laravel-admin.org/docs/zh/model-grid.md

【laravle项目】@20 商品管理的显示_数据库_10

这里的prctures就是goods模型里边定义的关联关系

【laravle项目】@20 商品管理的显示_laralve_11

以上就是实现的所有过程,只提供思路,不提供素材跟源码,谢谢