用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3726|回复: 6
收起左侧

[已解决] 可以直接将Model的返回值传递给View吗?

[复制链接]
发表于 2010-1-6 21:41:33 | 显示全部楼层 |阅读模式
Model
PHP复制代码
 
function show_company($id) {
        $sql = "select * from company where id = ?";
        $query = $this->db->query($sql, array($id));
        return $query->result_array();
}
 
复制代码


Controller
PHP复制代码
 
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复制代码
<?php echo $values[0]['name'] ?>
复制代码

可以得到数据
可是如果只有一唯的数组呢?
虽然这是很小白的问题...不过还是希望有路过的能回复一下...
发表于 2010-1-6 23:14:07 | 显示全部楼层
用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->result_array())看看结构就明白了
 楼主| 发表于 2010-1-7 00:57:43 | 显示全部楼层
用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->resu ...
visvoy 发表于 2010-1-6 23:14

foreach遍历倒是知道,因为返回的就一条数据,所以想说有没有直接的方法
我是用print_r($result);查看数组的结构的
发表于 2010-1-7 09:26:10 | 显示全部楼层
看下应用程序流程图就知道了。
controller是view与model的中间层 个人认为是不可以直接传递的。。
发表于 2010-1-7 10:21:28 | 显示全部楼层
返回一条数据看这里 http://codeigniter.org.cn/user_guide/database/results.html
如果找不到只能说明你不仔细。
发表于 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这么用了。。。。。
发表于 2010-1-12 16:09:23 | 显示全部楼层
支持。。。。。
我一般用 result() 和 row()

本版积分规则