【问题标题】:codeigniter core/model.php undefined propertycodeigniter core/model.php 未定义属性
【发布时间】:2011-07-19 19:40:48
【问题描述】:

我从来没有接触过model.php 文件,但是我得到了这个错误。 Jobprocess 是我的控制器,$lastname 是在其中正确分配的变量。我不知道为什么会出现这个错误。这是使用 codeigniter 框架

Message: Undefined property: Jobprocess::$lastname

Filename: core/Model.php

Line Number: 50

【问题讨论】:

标签: codeigniter


【解决方案1】:

确保在第 56 行的 application/config/autoload.php 上自动加载模型。

$autoload['libraries'] = array('database');

其次,确保php文件名是小写的(mymodel.php) 最后,确保模型类名的第一个字母大写

class Mymodel extends CI_Model{}

*Codeigniter 版本 3 - 模型的文件名必须以大写字母开头: “其中 Model_name 是您的类的名称。类名称的第一个字母必须大写,名称的其余部分小写。确保您的类扩展了基础 Model 类。” https://www.codeigniter.com/userguide3/general/models.html

【讨论】:

    【解决方案2】:

    $autoload['libraries'] = array('database'); 在 autoload.php 中 我在 codeigniter 上进行了 nettuts 会话,花了两个小时和 n 支雪茄才最终弄明白。

    【讨论】:

    • n 支雪茄不是推荐的解决方案。
    【解决方案3】:

    我更喜欢在我们编写的模型类中加载数据库,而不是通过配置文件自动加载它。
    如下:

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class fruits_model extends CI_Model {
    
    private $fruits_table;
    
    public function __construct()
    {
        parent::__construct();
        $this->load->database();
    
        $this->fruits_table = 'fruits';
    }
    

    添加以下行,

    $this->load->database();
    

    在模型的构造函数中。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 2015-05-10
      • 1970-01-01
      相关资源
      最近更新 更多