使用 codeigniter 创建基于级别的动态菜单

Posted

技术标签:

【中文标题】使用 codeigniter 创建基于级别的动态菜单【英文标题】:create dynamic menu based on level with codeigniter 【发布时间】:2021-08-13 08:28:16 【问题描述】:

我想基于 laravel 制作动态菜单。这是重要信息:

    table_menu: 包含字段名称等和 varchar 类型的 level_id table_level : 包含带有 int 类型的 ID 和菜单名称 我使用 codeigniter 和 sql

所以想法是,不是将数据一一插入到 table_menu(例如,如果我有 5 个菜单和 2 个级别,那么表格菜单上总共有 10 个菜单数据)。

所以我认为,最好的办法是我只需要在 table_menu 的字段 level_id 上插入 csv (level_id => 1(admin),4(user),5(etc)。这会给我 5菜单不管多少级。对吧?

但是问题如何?这有可能吗?

我试过这样:

$this->db->where('parent', true)->where_in('level_id', $this->session->userdata('level_id'))->get('table_menu')->result();

但它没有工作。谁能帮帮我?

【问题讨论】:

【参考方案1】:

我终于明白了! 我阅读了很多关于 find_in_set sql 查询的内容,终于成功了。这是最终代码:

$this->db->query("SELECT * FROM table_menu where FIND_IN_SET( ".$this->session->userdata('level_id').", level_id) > 0")->result();

【讨论】:

以上是关于使用 codeigniter 创建基于级别的动态菜单的主要内容,如果未能解决你的问题,请参考以下文章

使用 CODEIGNITER 的动态 php 网站

如何从单个表创建 codeigniter 动态菜单

在 CodeIgniter 中处理动态内容(最佳实践)

如何在 Codeigniter 中插入动态数据?

在 Codeigniter 中动态加载数据库连接数据

在 WinForms 中为上下文菜单动态选择菜单项的正确方法是啥?