【问题标题】:A PHP Error was encountered Severity: Notice Message: Undefined property: Social::$social_model Filename: controllers/social.php Line Number: 10遇到 PHP 错误 严重性:通知消息:未定义属性:Social::$social_model 文件名:controllers/social.php 行号:10
【发布时间】:2014-02-19 20:33:11
【问题描述】:

在运行 codeigniter 时出现以下错误:

遇到 PHP 错误严重性:通知消息:未定义属性:Social::$social_model 文件名:controllers/social.php 行号:10

请问我的代码有什么问题吗?

controllers/social.php

class Social extends CI_Controller {

    public function index(){

            $data = array();
            $this->load->view('header.php');
            $this->load->view('staffs/content.php');
            if ($query = $this-> social_model -> get_records()) // **[line 10]**
            {
                $data['records'] = $query;
            }

            $this->load->view('social/content.php', $data); 
            $this->load->view('footer.php');
        }

   // ....
}

models/social_model.php

<?php
class  social_model extends CI_Model{

    function get_records()
    {
        $query = $this->db->get('admins');
        return $query -> result();
    }

   // ....
}

【问题讨论】:

  • 应该是if ($query == $this
  • 我试过了,但也没有用:(
  • 您的代码没有显示 Social 和 site_model 之间的任何关系。事实上,您在 Social 中将其称为 social_model,但您从未将任何东西实例化为 $this->social_model。如果不声明参数social_model,则不能使用。
  • 我很抱歉它实际上是一个 social_model,很抱歉在帖子中拼写错误,它的 social_model 也不起作用。
  • 你是不是错过了:$this->load->model('Social_model.php'); (我不记得确切的语法)在调用 $this->social_model 之前?

标签: php codeigniter-2


【解决方案1】:

你必须加载模型:

$this->load->model('social_model');

【讨论】:

  • 欢迎来到Stack Overflow。虽然这解决了 OP 的问题,但一个好的答案不止于此。描述问题中提到的通知的原因,说明您建议的代码更改如何解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-06
  • 2022-08-05
  • 2023-01-22
  • 1970-01-01
  • 2017-08-26
相关资源
最近更新 更多