Codeigniter 从模型到控制器获取数据
我确实有一个问题:我无法将数据从模型传递到控制器 你可以看到我的一些代码,请帮助我。 它不起作用 这是我的模型“mymodel.php” 这是我的控制器mycont.phpCodeigniter 从模型到控制器获取数据,codeigniter,Codeigniter,我确实有一个问题:我无法将数据从模型传递到控制器 你可以看到我的一些代码,请帮助我。 它不起作用 这是我的模型“mymodel.php” 这是我的控制器mycont.php ... $this->load->model('mymodel'); $data['new'] = $this->Mymodel->wandad(); $this->load->view('myview',$data); ... 这是我的视图myview.php .... e
...
$this->load->model('mymodel');
$data['new'] = $this->Mymodel->wandad();
$this->load->view('myview',$data);
...
这是我的视图myview.php
....
echo $new;
.....
以下是您的模型中的几个问题
- 您的Foreach函数没有任何作用
与$t
wandad()不在同一命名空间中
- 函数wandad未定义到模型类中
wandad()
函数得到什么,但这里有一个模式
function yourFunction()
{
/* This will return the full query as an array */
$query = $this->db->query("SELECT * FROM `rand` WHERE `used` = 0 LIMIT 0, 1")->result_array();
/* Store variable in the same class */
$this->t = "EXAMPLE/".$query[0]['code'];
/* Close yourFunction() */
}
public function wandad() {
return $this->t;
}
然后进入控制器,改为执行以下操作:
$this->load->model('mymodel');
$this->mymodel->yourFunction();
$data['new'] = $this->mymodel->wandad();
$this->load->view('myview',$data);
@Touki他的foreach实际上做了些什么。它将使用查询返回的最后一行设置变量$row。这不是最好的方法。。。但这是一种方式。最好在查询中使用限制 很明显,你认为模型写得不正确,为了纠正这个简单的错误,你应该这样做 1.)我在$t上设置了一个默认值 2.)我将查询>>循环放在内部函数上 万达 因此,一旦从控制器调用,它就可以执行
function wandad() {
$query = $this->db->query("SELECT * FROM `rand` WHERE `used` = 0 LIMIT 0, 1");
$t = "";
if($query){
foreach ($query->result() as $row){
$t = "EXAMPLE/{$row->code}".'<br>';
}
}
return $t;
}
函数wandad(){
$query=$this->db->query(“从`rand`中选择*其中`used`=0限制0,1”);
$t=“”;
如果($query){
foreach($query->result()作为$row){
$t=“EXAMPLE/{$row->code}”。
;
}
}
返回$t;
}
您的代码中有一个小错误@Ernesto
foreach ($query->result() as $row){
$t. = "EXAMPLE/{$row->code}".'<br>';
}
foreach($query->result()作为$row){
$t.=“示例/{$row->code}”。“
”;
}
但是你的代码很好很抱歉,但是对我来说,
foreach($query->result()作为$row)代码>不代表任何操作OK,感谢您的评论。但是我的问题没有解决!你说的“没有解决”是什么意思?我发给你的代码在我的应用程序中有效。它在哪里失败?有什么错误?请把错误贴出来。。你真的复制/粘贴了我的代码吗?难道你没有忘记$of$this->t
?您能打印变量转储($query)
的结果吗?请更具体一些。未定义的属性:Short:$Mymodel这是主要问题。我完成了你所有的命令。
foreach ($query->result() as $row){
$t. = "EXAMPLE/{$row->code}".'<br>';
}