-3

重複の可能性:
「PHP 通知: 未定義のプロパティ」</a>

CI Web で外部ライブラリを使用しようとしています。これらのリンク https://www.codeigniter.com/user_guide/general/creating_libraries.htmlCodeIgniter custom library error: Call to a member function on a non-object to make this work を参照しますが、次のエラーメッセージが表示されます

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Dataloading::$load

Filename: libraries/dataloading.php

Line Number: 28

私が試しているのは、ライブラリからコンボボックスのデータをロードすることです。ここにライブラリクラスのコードがあります

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

class Dataloading {

        public function __construct() {

        }

        public function index()
    {

    }

        public function loadcombo(){

        $this->load->model('dataOperateModel');       
        //Calling the getcombo_titel() function to get the arr of titles. Model already loaded.
        $arrStates = $this->dataOperateModel->getcombo_titel();

        //Getting the final array in the form which I will be using for the form helper to create a dropdown.
        foreach ($arrStates as $job_name) {
            $arrFinal[] = $job_name->title;
        }

        $data['job_name'] = $arrFinal;
        $data['main_content']='home/welcome_message';

        //Passing $data to the view, so that we can get the states as an array inside the view.
        $this->load->view('layout',$data);


        }




}

ウェルカムクラスのコードはこちら

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

    class Welcome extends CI_Controller {


            public function __construct() {

                parent::__construct();
                //this condition will check whether user has logged in, otherwise 
                //he will be redirect to login
                if (!$this->session->userdata('logged_in'))
                { 
                     redirect('admin/admin_login');

                }
               // $this->load->model('dataOperateModel');
        }

            public function index()
        {
            //$this->load->view('welcome_message');
                 $this->load->library('dataloading');
                 $this->dataloading->loadcombo();
                 //$this->loadcombo();
        }


    }

私がどこで間違いを犯したのか、誰でも説明できますか。

4

1 に答える 1

1

Codeigniter コアとライブラリを使用するには、Codeigniter インスタンスをロードする必要があります

$this->ci =& get_instance();

次に、以下のように参照できます

$this->ci->load(.....)

独自のライブラリを作成する方法を確認することをお勧めします

于 2012-12-26T10:19:20.537 に答える