我敢打赌,这很容易,但已经尝试了一段时间,似乎无法让它发挥作用。基本上我正在设置分页,在下面的模型中我想将$ total_rows传递给我的控制器,所以我可以将它添加到配置中,如此'$ config ['total_rows'] = $ total_rows;'。
function get_timeline_filter($per_page, $offset, $source)
{
$this->db->where('source', $source);
$this->db->order_by("date", "desc");
$q = $this->db->get('timeline', $per_page, $offset);
$total_rows = $this->db->count_all_results();
if($q->num_rows() >0)
{
foreach ($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
}
我理解如何使用$this->example_model->example($something);
将控制器中的内容传递给模型但不确定如何从模型中获取变量?
答案 0 :(得分:2)
我认为在运行时更改配置并不是一个很好的想法,但我有3种方法可以在控制器中获得$ total_rows值。
ideia 1。您可以在会话中存储$ total_rows的值
ideia 2。通过引用传递变量(在函数定义中使用& $ total_rows:
function get_timeline_filter($per_page, $offset, $source, &$total_rows)
请阅读:http://php.net/manual/en/language.references.pass.php
在你的控制器中你打电话:
$total_rows=0;
$result=$this->model_name->get_timeline_filter($per_page, $offset, $source, &$total_rows);
ideia 3。从函数ex:
返回值(...)
if($q->num_rows() >0)
{
foreach ($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
$final_data['total_rows']=$total_rows;
$final_data['data']=$data;
return $final_data;
的问候,
佩德罗
答案 1 :(得分:0)
将$ total_rows设置为模型中的类变量,并从控制器访问它,就像它是任何其他类变量一样
$total = $this->dbmodelname->total_rows;