如何在codeigniter中将变量从控制器传递给模型

时间:2017-03-01 06:53:36

标签: javascript php jquery ajax codeigniter

控制器:

public function getimagesprojects()
{
    $param2 = $this->uri->segment(4);
    $param3 = $this->uri->segment(5);
    $data   = $this->Admin_db->getimages($param2, $param3);
    foreach ($data as $images) {
        return $images;
    }
}

这里我将两个变量从ajax方法传递给上面的控制器 然后我通过传递两个变量来调用getimages模型方法,但是值没有传递给模型。

模型:

function getimages($vendor_id, $vendor_pid)
{
    echo $vendor_id;
    echo $vendor_pid;
    $images = array();
    $res    = $this->db->query("SELECT project_gallery FROM projects where vendor_id='$vendor_id' and id='$vendor_pid';");
    foreach ($res->result_array() as $row) {
        $images[] = $row;
    }
    return $images;
}

在上面的模型中,我试图打印通过但未被引用的值 请帮帮我。

2 个答案:

答案 0 :(得分:0)

echo张图片而不是返回。在模型return $res->result_array()中。result_array()array格式返回结果。

<强>控制器:

public function getimagesprojects()

{

 $param2 = $this->uri->segment(4);

$param3 =$this->uri->segment(5);
$this->load->model('Admin_db');
$data=$this->Admin_db->getimages($param2,$param3);
foreach($data as $images)

  {

  echo $images;//echo here

  }
}

<强>型号:

function getimages($vendor_id, $vendor_pid)
{
    echo $vendor_id;
    echo $vendor_pid;
    $images = array();
    $res    = $this->db->query("SELECT project_gallery FROM projects where vendor_id='$vendor_id' and id='$vendor_pid'");
   return $res->result_array();//just return result in aray format
}

答案 1 :(得分:0)

我不明白为什么你把变量传递给模型只是为了从那里回显它们,模型不应该打印,在控制器中打印(或者更好的是,在视图中) 。然后迭代result_array只重新创建名为$ images的完全相同的数组,这是不必要的。我不确定您的查询是否正常工作,但我更改了使用Codeigniter功能,因为它们更清洁,更安全。

控制器:

public function getimagesprojects()
{
    $param2 = $this->uri->segment(4);
    $param3 = $this->uri->segment(5);
    echo $param2;
    echo $param3;
    $data   = $this->Admin_db->getimages($param2, $param3);
    foreach ($data as $images) {
        echo $images;
    }
}

模型:

function getimages($vendor_id, $vendor_pid)
{

    $images = array();
    $this->db->where('vendor_id', $vendor_id);
    $this->db->where('id', $vendor_pid);
    $res = $this->db->get('project_gallery');

    return $res->result_array();
}