我有点困惑。我在看一个教程(很清楚)。
我试着用$this->db->where()方法进行单行查询,效果很好。但是当我在方法中使用$this->db->get()的多行时,它返回“未定义的变量”
mproyecto.php(模型)

class Mproyecto extends CI_Model{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  function get($id){
    return $this->db->get_where('proyectos', array('id' => $id))->row();
  }

  function getAll(){
    $proyectos = $this->db->get('proyectos');
    return $proyectos->result();
  }
}

cproyector.php(控制器)
class Cproyecto extends CI_Controller{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  function index()
  {
    $this->load->model('mProyecto','Proyecto');
    $data['proyecto'] = $this->Proyecto->getAll();
    $this->load->view('proyecto/vproyecto', $data);
  }
}

vproyecto(视图)
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <?php foreach ($proyecto as $d){?>
    <h1><?php echo $d->$nombre; ?></h1>
    <h2><?php echo $d->$descripcion; ?></h2>
    <h3>Horas: <?php echo $d->$horas_totales; ?></h3>
    <h4>Fecha limite: <?php echo date("d-m-Y", strtotime($d->$deadline)); ?></h4>
    <?php } ?>
  </body>
</html>

它抛出:
遇到PHP错误
严重性:通知
消息:未定义变量:nombre
文件名:proyecto/vproyecto.php
行号:9
回溯:
文件:
C:\xampp\htdocs\teamworkplus\application\views\proyecto\vproyecto.php
行:9函数:_error_handler
文件:
C:\xampp\htdocs\teamworkplus\application\controllers\cproyector.php
线:18功能:视图
文件:C:\xampp\htdocs\teamworkplus\index.php行:315函数:
需要一次
致命错误:无法访问中的空属性
C:\xampp\htdocs\teamworkplus\application\views\proyecto\vproyecto.php
在第9行遇到了一个PHP错误
严重性:错误
消息:无法访问空属性
文件名:proyecto/vproyecto.php
行号:9
回溯:

最佳答案

从属性名中删除$符号

 <?php foreach ($proyecto as $d){?>
    <h1><?php echo $d->nombre; ?></h1>
    <h2><?php echo $d->descripcion; ?></h2>
    <h3>Horas: <?php echo $d->horas_totales; ?></h3>
    <h4>Fecha limite: <?php echo date("d-m-Y", strtotime($d->deadline)); ?>
   </h4>
 <?php } ?>

关于php - Codeigniter undefined variable ,当“获取”时,但不在“get_where”时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45503430/

10-09 05:33
查看更多