consatan 发表于 2010-1-6 21:41:33

可以直接将Model的返回值传递给View吗?

Model

function show_company($id) {
      $sql = "select * from company where id = ?";
      $query = $this->db->query($sql, array($id));
      return $query->result_array();
}


Controller

function show_company($id) {
      $this->load->model('Company_Model','Company');
      $result = $this->Company->show_company($id);
      print_r($result);
      $this->load->view('show_company',$result);
      //$data = array('values' => $result);
      //$this->load->view('show_company',$data);
}


这种情况下,View中怎么获取数据啊?
如果Controller中是使用$data的话,我使用
<?php echo $values['name'] ?>
可以得到数据
可是如果只有一唯的数组呢?
虽然这是很小白的问题...不过还是希望有路过的能回复一下...{:3_65:}

visvoy 发表于 2010-1-6 23:14:07

用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->result_array())看看结构就明白了

consatan 发表于 2010-1-7 00:57:43

用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->resu ...
visvoy 发表于 2010-1-6 23:14 http://codeigniter.org.cn/forums/images/common/back.gif
foreach遍历倒是知道,因为返回的就一条数据,所以想说有没有直接的方法
我是用print_r($result);查看数组的结构的

hdusec 发表于 2010-1-7 09:26:10

看下应用程序流程图就知道了。
controller是view与model的中间层 个人认为是不可以直接传递的。。

Hex 发表于 2010-1-7 10:21:28

返回一条数据看这里 http://codeigniter.org.cn/user_guide/database/results.html
如果找不到只能说明你不仔细。

lzyname 发表于 2010-1-11 02:00:54

Model:

function show_company($id) {
      $sql = "select * from company where id = ?";
      $query = $this->db->query($sql, array($id));
      return $query->row_array(); //返回单行
}

然后Controller:

$result = $this->Company->show_company($id);
$data['result'] = $result['name'];
$this->load->view('show_company',$data);

这样View就可以:
$result这么用了。。。。。

yangball 发表于 2010-1-12 16:09:23

支持。。。。。
我一般用 result() 和 row()
页: [1]
查看完整版本: 可以直接将Model的返回值传递给View吗?