消息:未定义的属性:stdClass :: $ designation_id

时间:2019-01-22 08:16:42

标签: php codeigniter model controller autoload

  

遇到PHP错误   严重程度:通知

     

消息:未定义的属性:stdClass :: $ designation_id

     

文件名:dashboard / index.php

     

行号:548

     

回溯:

     

文件:/home/newtalent/public_html/demo/localhost/application/views/dashboard/index.php   线:548   功能:_error_handler

     

文件:/home/newtalent/public_html/demo/localhost/application/third_party/MX/Loader.php   线:362   功能:包括

     

文件:/home/newtalent/public_html/demo/localhost/application/third_party/MX/Loader.php   线:304   功能:_ci_load

     

文件:/home/newtalent/public_html/demo/localhost/application/controllers/Dashboard.php   线:86   功能:查看

     

文件:/home/newtalent/public_html/demo/localhost/index.php   线:292   功能:require_once

我的控制器

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Announcement extends MY_Controller {

     public function __construct() {
        Parent::__construct();
        $this->load->library('session');
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->helper('html');
        $this->load->database();
        $this->load->library('form_validation');
        //load the model
        $this->load->model("Announcement_model");
        $this->load->model("Xin_model");
        $this->load->model("Designation_model");
    }

    /*Function to set JSON output*/
    public function output($Return=array()){
        /*Set response header*/
        header("Access-Control-Allow-Origin: *");
        header("Content-Type: application/json; charset=UTF-8");
        /*Final JSON response*/
        exit(json_encode($Return));
    }

     public function index()
     {
        $data['title'] = $this->Xin_model->site_title();
        $data['all_designations'] = $this->Designation_model->all_designations();
        $session = $this->session->userdata('username');
        $data['breadcrumbs'] = 'Announcements';
        $data['path_url'] = 'user/user_announcement';
        if(!empty($session)){
            $data['subview'] = $this->load->view("user/announcement_list", $data, TRUE);
            $this->load->view('layout_main', $data); //page load
        } else {
            redirect('');
        }

     }

    public function announcement_list()
     {

        $data['title'] = $this->Xin_model->site_title();
        $session = $this->session->userdata('username');
        if(!empty($session)){ 
            $this->load->view("user/announcement_list", $data);
        } else {
            redirect('');
        }
        // Datatables Variables
        $draw = intval($this->input->get("draw"));
        $start = intval($this->input->get("start"));
        $length = intval($this->input->get("length"));


        $announcement = $this->Announcement_model->get_announcements();

        $data = array();

        foreach($announcement->result() as $r) {

        // get user > added by
        $user = $this->Xin_model->read_user_info($r->published_by);
        // user full name
        $full_name = $user[0]->first_name.' '.$user[0]->last_name;
        // get date
        $sdate = $this->Xin_model->set_date_format($r->start_date);
        $edate = $this->Xin_model->set_date_format($r->end_date);

        if($r->designation_id == '') {
            $ol = 'All Designations';
        } else {
            $ol = '<ol class="nl">';
            foreach(explode(',',$r->designation_id) as $desig_id) {
                $_des_name = $this->Designation_model->read_designation_information($desig_id);
                $ol .= '<li>'.$_des_name[0]->designation_name.'</li>';
             }
             $ol .= '</ol>';
        }

        $data[] = array('<span data-toggle="tooltip" data-placement="top" title="View"><button type="button" class="btn btn-secondary btn-sm m-b-0-0 waves-effect waves-light" data-toggle="modal" data-target=".view-modal-data" data-announcement_id="'. $r->announcement_id . '"><i class="fa fa-eye"></i></button></span>',
            $r->title,
            $r->summary,
            $ol,
            $sdate,
            $edate,
            $full_name
        );
      }

      $output = array(
           "draw" => $draw,
             "recordsTotal" => $announcement->num_rows(),
             "recordsFiltered" => $announcement->num_rows(),
             "data" => $data
        );
      echo json_encode($output);
      exit();
     }
}

模型

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class announcement_model extends CI_Model {

    public function __construct()
    {
        parent::__construct();
        $this->load->database();
    }

    public function get_announcements()
    {
      return $this->db->get("xin_announcements");
    }

     public function read_announcement_information($id) {

        $condition = "announcement_id =" . "'" . $id . "'";
        $this->db->select('*');
        $this->db->from('xin_announcements');
        $this->db->where($condition);
        $this->db->limit(1);
        $query = $this->db->get();

        if ($query->num_rows() == 1) {
            return $query->result();
        } else {
            return false;
        }
    }


    // Function to add record in table
    public function add($data){
        $this->db->insert('xin_announcements', $data);
        if ($this->db->affected_rows() > 0) {
            return true;
        } else {
            return false;
        }
    }

    // Function to Delete selected record from table
    public function delete_record($id){
        $this->db->where('announcement_id', $id);
        $this->db->delete('xin_announcements');

    }

    // Function to update record in table
    public function update_record($data, $id){
        $this->db->where('announcement_id', $id);
        if( $this->db->update('xin_announcements',$data)) {
            return true;
        } else {
            return false;
        }       
    }
}
?>

查看

<?php 
    $session = $this->session->userdata('username');?> 
<div class="box box-block bg-white">
    <h2><strong>List All</strong> Announcements </h2>
    <div class="table-responsive" data-pattern="priority-columns">
        <table class="table table-striped table-bordered dataTable" id="xin_table">
            <thead>
                <tr>
                    <th>Action</th>
                    <th>Title</th>
                    <th>Summary</th>
                    <th>Published For</th>
                    <th>Start Date</th>
                    <th>End Date</th>
                    <th>Published By</th>
                </tr>
            </thead>
        </table>
    </div>
</div>

如果有人有解决方案,请提供 预先感谢

1 个答案:

答案 0 :(得分:0)

此错误表明stdClass中没有属性。 例如:

<?php
$exampleObj = new stdClass();
$value = $exampleObj->designation_id;  // Undefined property: stdClass::$designation_id

为避免错误,您需要创建以下属性:

<?php
$exampleObj = new stdClass();
$exampleObj->designation_id = 1;
$value = $exampleObj->designation_id;