CRUD的BUG吧?或者逻辑理解问题...
crud

CRUD在新的表名例如user_goods_a分隔完usergoods同时存在于菜单表的字段name
按我的想的逻辑.这个新表CRUD完成后.菜单应该pid应该在user下面才对.但是.实际上获取到了后面一个,也就是goods里面了..
这里的设计思路有点没想明白.是本身这样设计的?还是它是一个BUG.需要修改一下...

2个回答默认排序 投票数排序
YANG001
YANG001
这家伙很懒,什么也没写~
5天前

没明白你的意思

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
4天前

user_goods_a解析控制器目录就是admin/user.goods.a/index这个没毛病.
从这个目录结构来说.这个控制器就在admin应用的user里面
但是在创建菜单的时候.具体代码还没分析.因为我有usergoods两个顶级菜单.
他就创建到goods的子级里面去了.按照控制器逻辑是不是应该在user菜单的子级下面呢?

YANG001
YANG001回复钥匙
这家伙很懒,什么也没写~
3天前

goods在user的子级,a在goods的子级,没毛病

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
3天前

我有两个顶级菜单..usergoods
按表名user_goods_a应该是在user菜单的子级里面对不对.控制器都在里面.
但是实际.这个新的菜单项在goods这个顶级菜单里面.
goods是另外一个文件夹的东西.与user文件夹属于同级.新建的这个user_goods_a控制器等等的都在user文件夹下面.唯独菜单项到了goods这个顶级菜单项里面了.

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
3天前
复制代码
├─app 应用目录
│  ├─controller
│  │  ├─user
│  │  │  ├─goods
│  │  │  │  ├─a
│  │  ├─goods
│  │  │  ├─b
│  │  │  ├─c

上面的a创建的菜单在下面的这个goods菜单里面.而不在user.goods
这样应该要清楚一些了..
😂😂😂

YANG001
YANG001回复钥匙
这家伙很懒,什么也没写~
3天前

懂了,是不是自定义了这个?

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
2天前

没有自定义修改.

根据表名自动生成的.
但是就只是菜单跑错位置了..其它的都没问题...

YANG001
YANG001回复钥匙
这家伙很懒,什么也没写~
2天前

生成的菜单位置没有问题哈,或许还有什么细节?

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
1天前

有个前提..我本身有goods这样一个与user同级的顶级菜单..

钥匙
钥匙回复YANG001
这家伙很懒,什么也没写~
1天前

刚刚跟了一下代码.

language 复制代码
public static function createMenu($webViewsDir, $tableComment): void
    {
        $menuName = self::getMenuName($webViewsDir);
        if (!AdminRule::where('name', $menuName)->value('id')) {
            $pid = 0;
            foreach ($webViewsDir['path'] as $item) {
                $pMenu = AdminRule::where('name', $item)->value('id');
                if ($pMenu) {
                    $pid = $pMenu;
                    continue;
                }
                $menu = [
                    'pid'   => $pid,
                    'type'  => 'menu_dir',
                    'title' => $item,
                    'name'  => $item,
                    'path'  => $item,
                ];
                $menu = AdminRule::create($menu);
                $pid  = $menu->id;
            }

            // 建立菜单
            foreach (self::$menuChildren as &$item) {
                $item['name'] = $menuName . $item['name'];
            }
            $componentPath = str_replace(['\\', 'web/src'], ['/', '/src'], $webViewsDir['views'] . '/' . 'index.vue');
            Menu::create([
                [
                    'type'      => 'menu',
                    'title'     => $tableComment ?: $webViewsDir['originalLastName'],
                    'name'      => $menuName,
                    'path'      => $menuName,
                    'menu_type' => 'tab',
                    'keepalive' => '1',
                    'component' => $componentPath,
                    'children'  => self::$menuChildren,
                ]
            ], $pid);
        }
    }

这里的foreach ($webViewsDir['path'] as $item)
查询$pMenu会因为有数据的name字段为goods导致,在循环查询path参数时查询到了到"user_goods_a"中的goods,
而为什么有goods...这个万搬情况吧..刚好有这样一个总的goods管理...

枫逍
枫逍
这家伙很懒,什么也没写~
4天前

哪里有比较好的视频教程呀,开发有难度

请先登录
0
1
0
11