Sairam Duggi
Sairam Duggi

Reputation: 165

codeigniter library with database connection

I am creating a new custom library with database connection but am unable to load the database

This is my custom library :

class Seo {
    var $CI;
    public function __construct($params = array())
    {
        $this->CI =& get_instance();
        $this->CI->load->helper('url');
        $this->CI->config->item('base_url');
        $this->CI->load->database();


    }
    public function getMetadata($pageid){
     $this->db->select('*');
     $this->db->from('HHCL_PAGES AS A');
     $this->db->join('HHCL_META AS B','A.PAGE_ID = B.PAGE_ID','LEFT');
     $this->db->join('HHCL_META_OG AS C','A.PAGE_ID = C.PAGE_ID','LEFT');
     $this->db->where('A.PAGE_ID',$pageid);
     $data = $this->db->get->result();
     echo"<pre>";print_r($data);exit;
     $this->CI->load->view('home/layouts/header',$data); 
    }
}

Error

 A PHP Error was encountered
    Severity: Notice

    Message: Undefined property: Seo::$db

    Filename: libraries/Seo.php

    Line Number: 30

    Backtrace:

    File: C:\xampp\htdocs\hhcl\application\libraries\Seo.php
    Line: 30
    Function: _error_handler

    File: C:\xampp\htdocs\hhcl\application\controllers\Home.php
    Line: 28
    Function: getMetadata

    File: C:\xampp\htdocs\hhcl\index.php
    Line: 316
    Function: require_once

i have defined this library in auto load along with database and session, how can i over come this?

Upvotes: 0

Views: 2087

Answers (1)

Pradeep
Pradeep

Reputation: 9717

Change $this; to $this->CI;

Should be like this :

public function getMetadata($pageid)
{
    $this->CI->db->select('*');
    $this->CI->db->from('HHCL_PAGES AS A');
    $this->CI->db->join('HHCL_META AS B','A.PAGE_ID = B.PAGE_ID','LEFT');
    $this->CI->db->join('HHCL_META_OG AS C','A.PAGE_ID = C.PAGE_ID','LEFT');
    $this->CI->db->where('A.PAGE_ID',$pageid);
    $data = $this->CI->db->get()->result();
    echo"<pre>";print_r($data);exit;
    $this->CI->load->view('home/layouts/header',$data); 
}

Upvotes: 2

Related Questions