如何将数据库变量传递给控制器​​函数

时间:2016-05-23 11:32:12

标签: matlab codeigniter

我必须从数据库中取出最后一个插入的图像名称,然后我需要将它传递给控制器​​函数。

模型

function getimage()
  {

    $maxid = $this->db->query('SELECT MAX(id) AS `maxid` FROM `brain`')->row()->maxid;
    $this->db->select("image");
    $this->db->from('brain');
    $this->db->where('id =', $maxid);
    $query = $this->db->get();
    return $query->result();
  }

控制器

public function matlabcall() {


        $command = "matlab -sd " . getcwd() . " -r MedianFiltering_denoising('" . IMAGENAME . "')";
        exec($command);


    }

我需要替换图片名称,而不是' IMAGENAME'

sql table

id  image 

1   images/pic1.png
2   images/pic2.png

这里'图片'引用文件夹。我需要删除文件夹名称并单独获取图像名称,需要将控制器功能传递给它。 请帮我这样做。

1 个答案:

答案 0 :(得分:0)

通常,控制器将使用模型来获取数据,然后根据模型的返回进行操作。在这种情况下,模型的返回发送到<link rel="stylesheet/css" type="text/css" href="http://website.com/css/style.css" />,这只是控制器的另一个功能。

您没有显示控制器的定义,所以我已经制作了一个。

控制器文件:

matlabcall()

使用Query Builder语法创建一个非常简单的查询是没有意义的。这段代码将更高效,更易于阅读,并且速度可能更快。

模型文件:

class Brain_controller extends CI_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->load->model('brain_images');
  }

  public function newest_brain_image()
  {
    $image = $this->brain_images->get_image();
    $this->matlabcall($image);
  }

  public function matlabcall($image_name)
  {
    $cwd = getcwd();
    $command = "matlab -sd $cwd -r MedianFiltering_denoising('$image_name')";
    exec($command);
  }

}

希望我已正确理解您的需求,这有助于此。