2017-08-04 21 views
1

私はちょっと混乱しています。私はチュートリアルを読んでいました(非常にはっきりしています)。 $this->db->where()メソッドで1行のクエリを実行しようとしましたが、うまく機能しました。私はメソッド内部にある$this->db->get()と複数行を使用する場合、それは "未定義の変数" を返す"get"時にはCodeigniterの未定義変数 "get_where"時には未定義変数

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> 

それはスロー:

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: nombre

Filename: proyecto/vproyecto.php

Line Number: 9

Backtrace:

File: C:\xampp\htdocs\teamworkplus\application\views\proyecto\vproyecto.php Line: 9 Function: _error_handler

File: C:\xampp\htdocs\teamworkplus\application\controllers\cproyecto.php Line: 18 Function: view

File: C:\xampp\htdocs\teamworkplus\index.php Line: 315 Function: require_once

Fatal error: Cannot access empty property in C:\xampp\htdocs\teamworkplus\application\views\proyecto\vproyecto.php on line 9 A PHP Error was encountered

Severity: Error

Message: Cannot access empty property

Filename: proyecto/vproyecto.php

Line Number: 9

Backtrace:

+1

と、すべての変数の変化は、この '$ D-> nombre'のようにそれを作ります。 '$'を削除してください。 –

+0

@UnsignedFoo可能であれば、 'get'や' get_where'とは関係ないので質問のタイトルを編集してください –

答えて

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 } ?> 
+0

うわー!それはトリックでした!ありがとうございました!私はちょっと恥ずかしいと感じました – UnsignedFoo

+0

@JYoThi - <?php echo $ d- $ horas_totales; ?> $ d- $は$ d->でなければなりません。 – TimBrownlaw

+1

Typo:答えは@TimBrownlawです。 – JYoThI

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をごviewコードを書くことができます0123で記号

ので$シンボル