由于CodeIgniter的奇怪行为,我很困惑。我从Model获取一些数据并将其返回给Controller并将该数据从Controller传递给View。
控制器
function index()
{
$data['details'] = $this->Mymodel->Get_Details();
$this->load->view('mypage',$data);
}
模型
public function Get_Details()
{
$query = "
SELECT
*
FROM
tablename
";
$result = $this->db->query($query)->result();
return $result;
}
查看
<?php
print_r($details);
?>
问题是视图页面中没有显示任何内容。如果我在print_r($data);
中的Controller
或print_r($result);
中的Model
,则会显示结果。如果在select
中,*
被替换为单个列名称,则输出将从Controller
传递到View
并显示输出。
从控制器到视图传递数据是否有任何限制?
更新:在视图中,如果我使用print_r($details[0]);
或print_r($details[n]);
,则会打印结果。如果使用print_r($details);
,则页面只是空白。可能是什么问题?
答案 0 :(得分:0)
在模型中尝试这个
public function Get_Details()
{
$query = "
SELECT
*
FROM
tablename
";
$result = $this->db->query($query);
return $result->result();
}
答案 1 :(得分:0)
您是否尝试过此代码:
<强>模型强>
public function Get_Details()
{
$query = "
SELECT
*
FROM
tablename
";
return $this->db->query($query);
}
查看强>
<?php
print_r($details->result());
?>
答案 2 :(得分:0)
result()函数将查询结果作为对象数组返回,或者在失败时返回空数组。
您需要在视图中循环显示它以获得预期的结果。
您可以在此处查看详细信息:http://ellislab.com/codeigniter/user-guide/database/results.html