Загрузка рассматриваемой модели в CodeIgniter без нарушения MVC Framework - PullRequest
0 голосов
/ 30 июня 2018

Я действительно новичок в MVC Framework, а также в CodeIgniter. Можно ли получить доступ к модели в представлении CodeIgniter, не нарушая структуру MVC? Об этом я и говорю.

Ниже мой код для моего представления.

foreach ($packages as $row)
{
    if($row->Category == "Wedding")
    {
        $package_name = $row->package_name;
        $ratings = $model->ratings($package_name);
        foreach ($ratings as $row_review)
        {

        }
    }
}

А это в моей модели

public function ratings($package_name)
{
    $this->db->select('round(sum(Rating)/count(Rating)) as total');
    $this->db->where('package_name', $package_name);
    $query = $this->db->get('tbl_review');
    return $query->result();
}

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

В представлении можно напрямую вызвать функцию модели:

$CI =& get_instance();
$CI->load->model('your_model');// If the model was not loaded before(in controller or via autoloader).
....
$result = $CI->your_model->model_method();
0 голосов
/ 30 июня 2018

Надеюсь, это поможет вам:

Примечание: ваши database и model также должны быть загружены либо в контроллер, либо в autoload.php;

Вы можете сделать это с помощью кондигнитора helpers. Создайте файл и назовите его custom_helper.php, добавьте в папку помощников и загрузите его с autoload.php следующим образом:

$autoload['helper'] = array('custom');

В вашем custom_helper.php добавьте такую ​​функцию:

function package_ratings($package_name)
{ 
    $ci = & get_instance();
    $ci->db->select('round(sum(Rating)/count(Rating)) as total'); 
    $ci->db->where('package_name',$package_name);
    $query = $ci->db->get('tbl_review'); 
    return $query->result(); 
}

На ваш взгляд, используйте функцию package_ratings, как указано ниже:

foreach($packages as $row)
{ 
    if($row->Category == "Wedding")
    { 
        $package_name = $row->package_name; 
        $ratings = package_ratings($package_name); 
        foreach ($ratings as $row_review) 
        { 

        }
    }
}

Для более: https://www.codeigniter.com/user_guide/general/helpers.html

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