Codeigniter在“get”时未定义变量,但在“get_where”时未定义

时间:2017-08-04 09:42:43

标签: php mysql codeigniter

我有点困惑。我正在阅读一个教程(非常清楚)。 我尝试使用$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();
  }
}

cproyecto.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 \程序\意见\ PROYECTO \ vproyecto.php   行:9函数:_error_handler

     

文件:   C:\ XAMPP \ htdocs中\ teamworkplus \应用\控制器\ cproyecto.php   行:18功能:查看

     

文件:C:\ xampp \ htdocs \ teamworkplus \ index.php行:315功能:   require_once

     

致命错误:无法访问空属性   C:\ XAMPP \ htdocs中\ teamworkplus \程序\意见\ PROYECTO \ vproyecto.php   第9行遇到PHP错误

     

严重性:错误

     

消息:无法访问空属性

     

文件名:proyecto / vproyecto.php

     

行号:9

     

回溯:

2 个答案:

答案 0 :(得分:4)

从属性名称

中删除$符号
 <?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 } ?>

答案 1 :(得分:0)

您可以这样编写<?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 } ?> 代码

$d->$nombre

nombre错误的$未与$符号

一起使用

所以使用var testResults =Connection.teamProject.TestResults.ByTestId(testcase.Id); var res = testResults.Where(testResult => testPointsIds.Contains(testResult.TestPointId)).ToArray<ITestCaseResult>(); 符号

更改所有变量