相关疑难解决方法(0)

在视图codeigniter中调用模型函数

我是MVC的新手,我正在将一个用非MVC风格编写的项目移植到MVC,但是我遇到了一个需要在View中调用Model函数的问题.

场景:

表1 - 产品:
包含product_id,product_name等,并为每个产品可以有多个版本.

表2 - 版本:
包含version_id,version_name...,product_id等等.

现在在View中我正在显示产品,在每个产品标题下我必须显示该产品的版本列表,在非MVC样式中它非常简单,我可以在View中使用以下代码片段:

foreach ($product as $row) 
{
    echo $row['product_name'];
    if ($main->getVersionList($vresult,$row["product_id"]))
    {
        foreach ($vresult as $vrow)
        {
          echo $vrow['version_name'];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我可以将Product数组从控制器传递到视图,但是每个需要生成的每个Version数组对应于每个产品呢?

更新:

这是我在控制器中的最终工作解决方案(使用地图):

        $this->load->model ( 'product_mod' );
        $data ['products'] = $this->product_mod->getProductList ();
        $data ['versions'] = array ();
        foreach ( $data ['products'] as $product )
        {
            $data ['versions'] [$product['product_id']] =   $this->product_mod->getVersionList ( $product['product_id'] );
        }
Run Code Online (Sandbox Code Playgroud)

php mysql database model-view-controller codeigniter

4
推荐指数
1
解决办法
3万
查看次数