php - 如何使用模型和自定义助手显示数据库中的数据?

标签 php mysql codeigniter

我目前正在创建一个新的应用程序功能,我想动态更改从数据库获取的页眉、页眉标题和面包屑的值,而不是单独手动编码。问题是,如果我更新数据库中的 menu_name 列,所有页眉、页眉标题和面包屑都将根据其值自动更新。

这是我创建的模型,用于获取 menu_master 表中的列的值

class Page_Header_model extends CI_Model {

public function __construct()
{
    parent::__construct();
}

function get_page_menu_names($menu_id, $menu_name)
{
    $this->db->where('menu_id', $menu_id);
    $this->db->where('menu_name', $menu_name);

    $query = $this->db->get('menu_master);

    return $query->result();
}

这是我要调用模型的 page_header_helper,以便自动显示值

function __construct()
{
   parent::__construct();
   $CI =& get_instance();
   $CI->load->model('Page_Header_model');
   $CI->Page_Header_model->get_page_menu_names();
}

function get_page_header_data($page_type)
{
      $project_title = 'Testing';

      $page_header_array['inventory'] = array(

        "breadcrumbs" =>  array(
            array('title'=>'Home','url'=>base_url()),
            array('title'=>'Inventory Lists','is_active'=>TRUE),
        ),
        "page_title"  =>  'Inventory Lists',
        "page_header_title" =>  'Inventory Lists : '.$project_title

    );

    $page_header_data = $page_header_array[$page_type];

    return $page_header_data;
    }

最佳答案

我刚刚找到了一种方法来做到这一点。关键是从数据库中获取菜单名称的 id 并将其作为一行返回,在自定义助手中,只需从数据库中调用菜单名称的 id 即可。我是这样做的:

这是我的模型:

        function get_page_menu_names($menu_id)
       {
           $this->db->select('menu_name');

           $this->db->from('menu_master');

           $this->db->where('menu_id', $menu_id);

           $query = $this->db->get();

           $menu_name_row = $query->row();

           if(isset($menu_name_row))
           {
             return $menu_name_row->menu_name;
           }            
       }

这是我从我写的助手中调用它的方式:

$page_header_array['inventory_master_listing'] = array(

            "breadcrumbs" =>  array(
                array('title'=>'Home','url'=>base_url()),
                array('title'=> $this->my_model_name->get_page_menu_names(1),'is_active'=>TRUE),
            ),
            "page_title"  =>  $this->my_model_name->get_page_menu_names(1),
            "page_header_title" =>  $this->my_model_name->get_page_menu_names(1).' : '.$project_title

        );

关于php - 如何使用模型和自定义助手显示数据库中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55681430/

相关文章:

php - Sendgrid - SMTP 还是 CURL?

php - 使用 MY_Model

php - 如何通过 laravel 迁移将日期间隔存储到 MySQL 中?

php - Facebook ID 登录和注册不一致

mysql - 如何使用 mvc spring 将 JSON 数组插入 MySQL

mysql - 如何将查询存储在 MySQL 列中,然后再使用该查询?

PHP-CLI - 如何减少启动 PHP 进程所需的内存使用量

javascript - HTML + PHP。带 POST 的表单不发送输入类型 = 文本

mysql - 想在 order by 处使用 case 语句

php - AWS 亚马逊 SES 突然停止工作