-3

可能重复:
Codeigniter 消息:未定义属性:stdClass

位置:应用程序/核心/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;
    }
}

位置:应用程序/控制器/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 回答