-3

重複の可能性:
Codeigniter メッセージ: 未定義のプロパティ: stdClass

場所: application/core/student_model.php

class Student_model extends CI_Model
{
    private $id;

    public function __construct() {
        parent::__construct();
    }

    public function setId($id){
        $this->id = $id;
    }

    public function getId() {
        return $this->id;
    }
}

場所: application/controllers/test.php

class Test extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('Student_model');
    }

    public function index()
    {
        $student = $this->student_model->setId('1234567');
        echo $student->getId();
    }
}

次のメッセージ/エラーが表示されます。

Message: Undefined property: Test::$student_model
Filename: controllers/test.php
Line Number: 13

この行は、メソッド setId を呼び出している場所です。

誰かが私が間違っていることを見ることができますか?

4

3 に答える 3

3

交換してみる

$this->student_model->setId('1234567');

$this->Student_model->setId('1234567');

クラスは大文字であるため、プロパティも大文字にする必要があります。

于 2013-01-04T10:00:49.190 に答える
1

試す

public function __construct()
{
    parent::__construct();
    $this->load->model('Student_model', 's_model');
}

public function index()
{
    $student = $this->s_model->setId('1234567');
    echo $student->getId();
}
于 2013-01-04T10:03:21.963 に答える
0

あなたが間違っているのは:

何も返さない関数または「セッター」を割り当て$student て います。$this->student_model->setId('1234567');
そして、あなたは使用することができなくなります$student->getId();

私がすることはそれです

class Test extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model('student_model', 'student');
    }

    public function index()
    {
        $this->student->setId('1234567');
        echo $this->student->getId();
    }
}
于 2013-01-04T10:42:30.847 に答える