Codeigniter 从模型到控制器获取数据

Codeigniter 从模型到控制器获取数据,codeigniter,Codeigniter,我确实有一个问题:我无法将数据从模型传递到控制器 你可以看到我的一些代码,请帮助我。 它不起作用 这是我的模型“mymodel.php” 这是我的控制器mycont.php ... $this->load->model('mymodel'); $data['new'] = $this->Mymodel->wandad(); $this->load->view('myview',$data); ... 这是我的视图myview.php .... e

我确实有一个问题:我无法将数据从模型传递到控制器 你可以看到我的一些代码,请帮助我。 它不起作用

这是我的模型“mymodel.php”

这是我的控制器mycont.php

 ...
 $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>';
   }