Как отобразить данные из базы данных с помощью моделей и пользовательских помощников? - PullRequest
0 голосов
/ 09 апреля 2019

В настоящее время я создаю новую функцию приложения, в которой я хочу динамически изменять значения заголовков страниц, заголовков страниц и хлебных крошек, которые извлекаются из базы данных, а не кодировать их вручную по отдельности.Дело в том, что если я обновлю столбец 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;
    }

1 Ответ

0 голосов
/ 15 апреля 2019

Я только что нашел способ, как это сделать.Ключ заключается в том, чтобы получить идентификатор имени меню из базы данных и вернуть его в виде строки, а в пользовательском помощнике просто вызвать идентификатор имени меню из базы данных.Вот как я это сделал:

Вот моя модель:

        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

        );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...