Codeigniter在非对象上调用成员函数result()

乌默姆

我有以下代码:

public function getJccLineItem($id,$action)
{
    $res = array();
    $q = 'SELECT * FROM jcc_line_items jli,ipo_line_item ili ,line_items li
        WHERE jli.line_item_id= ili.id and li.id = jli.line_item_id
        and ili.dn_number_id in ( Select dn_number from ipo where project_id= '.$id.')';
    $res = $this->db->query($q);
    echo $this->db->last_query();
    $jccLineItemArray = array();
    echo $id;
    print_r($res->result());

    if($action == 'array')
    {

        foreach ( $res->result() as $key => $value) // The error comes in this line
        {
            $jccLineItemArray[ $value->id ] = $value->item_description;
        }
        $res = $jccLineItemArray;


    }  
    else 
    {

        $res = $res->result();
    }

    return $res;
}

错误在foreach循环中。我已经打印了结果,并且在对象数组中显示了结果,但是当它进入foreach循环时。它显示此错误

“在非对象上调用成员函数result()”

但是,当我设置时db['default']['db_debug']=true,它表明$id查询中缺少,而当它为false时,它将在对象数组中显示结果并在循环中给出错误。任何帮助将不胜感激。谢谢

控制器代码

public function createInvoice( $id = "" ) 
{        
    if (empty($id)) 
    {
        $id = $this->input->post('dataid');
    }
    echo $id;
    $data['jcc_line_list'] = $this->product_model->getJccLineItem($id,'array');
    $data['jcc_line_lists'] = $this->product_model->getJccLineItem($id,'');
    $data['items'] = $this->product_model->getAllSubInvoice($id);
    $data['single_project'] = $this->product_model->getSingleProject($id);
    $data['site'] = $this->product_model->getAllSiteArray();
    $data['job_types'] = $this->product_model->getAllJobTypeArray();
    $data['title'] = 'Invoice';
    $data['operation'] = 'Create';
    $data['buttonText'] = 'Save';
    $data['id'] = $id;
    $this->load->helper(array('form', 'url'));
    $this->load->helper('security');

    $this->form_validation->set_rules('line_item_id', 'Line Item', 'required|xss_clean|max_length[50]');
    $this->form_validation->set_rules('job_type_id', 'Job Type', 'required|xss_clean|max_length[50]');
    $this->form_validation->set_rules('site_id', 'Site', 'required|xss_clean|max_length[50]');
    $this->form_validation->set_rules('milestone', 'Milestone', 'required|xss_clean|max_length[50]');
    $this->form_validation->set_error_delimiters('<span class="error">', '</span>');


    if ($this->form_validation->run() == FALSE) {
        $this->session->set_flashdata('error_message', validation_errors());
        $this->load->view('admin/viewinvoicesub', $data);
    } else if ($this->form_validation->run() == TRUE) {

        $formData = array(
            'invoice_id' => $id,
            'line_item_id' => $this->form_validation->set_value('line_item_id'),
            'job_type_id' => $this->form_validation->set_value('job_type_id'),
            'site_id' => $this->form_validation->set_value('site_id'),
            'milestone' => $this->form_validation->set_value('milestone'),
        );
        $this->product_model->insertInvoiceSub($formData);
        $this->session->set_flashdata('sucess_message', "Data successfully save !");
        redirect('Products/createInvoice', "refresh");
    } else {
        $this->load->view('admin/viewinvoicesub', $data);
    }
}
Praveen Kumar

试试这个,让我知道是否有帮助

public function getJccLineItem($id = '' ,$action = '')
{
    if($id != '')
    {
        $res = array();
        $q = 'SELECT * FROM jcc_line_items jli,ipo_line_item ili ,line_items li
            WHERE jli.line_item_id= ili.id and li.id = jli.line_item_id
            and ili.dn_number_id in ( Select dn_number from ipo where project_id= '.$id.')';
        $res = $this->db->query($q)->result();
        $jccLineItemArray = array();
        if($action == 'array')
        {
            foreach($res as $key => $value) // The error comes in this line
            {
                $jccLineItemArray[ $value->id ] = $value->item_description;
            }
            $res = $jccLineItemArray;
        }
        return $res;
    }
    else
    {
    echo "id is null"; die();
    }
}

您的控制器代码应为

public function createInvoice( $id = "" ) 
{
    $this->load->helper(array('form', 'url'));
    $this->load->helper('security'); 
    if ($id = "") 
    {
        $id = (isset($this->input->post('dataid')))?$this->input->post('dataid'):3;// i am sure your error is from here
    }   
    $data['jcc_line_list'] = $this->product_model->getJccLineItem($id,'array');
    $data['jcc_line_lists'] = $this->product_model->getJccLineItem($id,'');
    $data['items'] = $this->product_model->getAllSubInvoice($id);
    $data['single_project'] = $this->product_model->getSingleProject($id);
    $data['site'] = $this->product_model->getAllSiteArray();
    $data['job_types'] = $this->product_model->getAllJobTypeArray();
    $data['title'] = 'Invoice';
    $data['operation'] = 'Create';
    $data['buttonText'] = 'Save';
    $data['id'] = $id;
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {   
        $this->form_validation->set_rules('line_item_id', 'Line Item', 'required|xss_clean|max_length[50]');
        $this->form_validation->set_rules('job_type_id', 'Job Type', 'required|xss_clean|max_length[50]');
        $this->form_validation->set_rules('site_id', 'Site', 'required|xss_clean|max_length[50]');
        $this->form_validation->set_rules('milestone', 'Milestone', 'required|xss_clean|max_length[50]');
        $this->form_validation->set_error_delimiters('<span class="error">', '</span>');


        if ($this->form_validation->run() === FALSE) 
        {
            $this->session->set_flashdata('error_message', validation_errors());
            $this->load->view('admin/viewinvoicesub', $data);
        } 
        else
        {
            $formData = array(
                'invoice_id' => $id,
                'line_item_id' => $this->form_validation->set_value('line_item_id'),
                'job_type_id' => $this->form_validation->set_value('job_type_id'),
                'site_id' => $this->form_validation->set_value('site_id'),
                'milestone' => $this->form_validation->set_value('milestone'),
            );
            $this->product_model->insertInvoiceSub($formData);
            $this->session->set_flashdata('sucess_message', "Data successfully save !");
            redirect('Products/createInvoice/'.$id, "refresh");
        }
    }   
    else 
    {
        $this->load->view('admin/viewinvoicesub', $data);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在CodeIgniter中的非对象上调用成员函数

来自分类Dev

致命错误:在非对象上调用成员函数result()

来自分类Dev

在非对象上调用成员函数fetchAll()

来自分类Dev

在非对象上调用成员函数fill()

来自分类Dev

在非对象上调用成员函数getClientOriginalName()

来自分类Dev

在非对象上调用成员函数getAction()

来自分类Dev

PHP:在非对象上调用成员函数...

来自分类Dev

在非对象上调用成员函数describetable()

来自分类Dev

在非对象上调用成员函数getAttribute()

来自分类Dev

在非对象上调用成员函数bindValue()

来自分类Dev

在非对象上调用成员函数getElementById()

来自分类Dev

“在非对象上调用成员函数 userList()”

来自分类Dev

在CodeIgniter 3.0上自动加载配置文件时,在非对象上调用成员函数load()

来自分类Dev

致命错误:在非对象Codeigniter上调用成员函数base_url()

来自分类Dev

在非对象Laravel 4.2上调用成员函数where()

来自分类Dev

致命错误:在非对象上调用成员函数insert()

来自分类Dev

Magento-在非对象上调用成员函数getId()

来自分类Dev

在非对象DateTime上调用成员函数format()

来自分类Dev

在非对象上调用成员函数num_rows()

来自分类Dev

致命错误:在非对象上调用成员函数error()

来自分类Dev

致命错误:在非对象上调用成员函数first()

来自分类Dev

Symfony 2错误:在非对象上调用成员函数get()

来自分类Dev

错误:在非对象上调用成员函数paginate()

来自分类Dev

FatalErrorException:错误:在非对象symfony上调用成员函数has()

来自分类Dev

错误:在非对象上调用成员函数get()

来自分类Dev

FatalErrorException:错误:在非对象上调用成员函数has()

来自分类Dev

在非对象上调用成员函数num_rows()

来自分类Dev

致命错误在非对象PHP上调用成员函数login()

来自分类Dev

Laravel-在非对象上调用成员函数paginate()

Related 相关文章

  1. 1

    在CodeIgniter中的非对象上调用成员函数

  2. 2

    致命错误:在非对象上调用成员函数result()

  3. 3

    在非对象上调用成员函数fetchAll()

  4. 4

    在非对象上调用成员函数fill()

  5. 5

    在非对象上调用成员函数getClientOriginalName()

  6. 6

    在非对象上调用成员函数getAction()

  7. 7

    PHP:在非对象上调用成员函数...

  8. 8

    在非对象上调用成员函数describetable()

  9. 9

    在非对象上调用成员函数getAttribute()

  10. 10

    在非对象上调用成员函数bindValue()

  11. 11

    在非对象上调用成员函数getElementById()

  12. 12

    “在非对象上调用成员函数 userList()”

  13. 13

    在CodeIgniter 3.0上自动加载配置文件时,在非对象上调用成员函数load()

  14. 14

    致命错误:在非对象Codeigniter上调用成员函数base_url()

  15. 15

    在非对象Laravel 4.2上调用成员函数where()

  16. 16

    致命错误:在非对象上调用成员函数insert()

  17. 17

    Magento-在非对象上调用成员函数getId()

  18. 18

    在非对象DateTime上调用成员函数format()

  19. 19

    在非对象上调用成员函数num_rows()

  20. 20

    致命错误:在非对象上调用成员函数error()

  21. 21

    致命错误:在非对象上调用成员函数first()

  22. 22

    Symfony 2错误:在非对象上调用成员函数get()

  23. 23

    错误:在非对象上调用成员函数paginate()

  24. 24

    FatalErrorException:错误:在非对象symfony上调用成员函数has()

  25. 25

    错误:在非对象上调用成员函数get()

  26. 26

    FatalErrorException:错误:在非对象上调用成员函数has()

  27. 27

    在非对象上调用成员函数num_rows()

  28. 28

    致命错误在非对象PHP上调用成员函数login()

  29. 29

    Laravel-在非对象上调用成员函数paginate()

热门标签

归档