【问题标题】:Codeigniter Call to a member function row() on boolCodeigniter 调用 bool 上的成员函数 row()
【发布时间】:2021-12-22 03:57:48
【问题描述】:

我的模型文件出现错误

遇到未捕获的异常 类型:错误 消息:在 bool 上调用成员函数 row() 文件名:application/models/Ledger_model.php 行号:47 回溯: 文件:application/controllers/Purchase.php 线路:56 函数:get_branch_from_ledger_id

文件:index.php 线路:315 函数:require_once

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Ledger_model extends CI_Model
{
    function __construct() {
        parent::__construct();
    }

    public function index(){
        
    } 
    /* 
        return all discount details to display list  
    */
    public function get_records(){

        return $this->db->select('l.*,a.group_title')  
                        ->from('ledger l')
                        ->join('account_group a','a.id = l.accountgroup_id')
                        ->get()
                        ->result(); 
    }

    public function get_records_by_accountgroup_category($category)
    {
        return $this->db->select('l.*,a.group_title')  
                        ->from('ledger l')
                        ->join('account_group a','a.id = l.accountgroup_id')
                        ->where_in('category',$category)
                        ->get()
                        ->result();
        
    }

    function get_single_record($id)
    {
        return $this->db->get_where("ledger",array('id'=>$id))->row();
    }

    function get_branch_from_ledger_id($id)
    {
        return $this->db->select('l.*,a.branch_id')  
                        ->from('ledger l')
                        ->join('account_group a','a.id = l.accountgroup_id')
                        ->where('l.id',$id)
                        ->get()
                        ->row()
                        ->branch_id;
    }

    // public function get_records_by_branch($branch_id)
    // {
    //     return $this->db->select('l.*,b.branch_name as branch_name,ag.category as category')
    //                     ->from('ledger l')  
    //                     ->join('account_group ag','l.accountgroup_id = ag.id')
    //                     ->join('account_group_branch agb','agb.account_group_id = l.accountgroup_id')
    //                     ->join('branch b','b.branch_id = agb.branch_id')
    //                     ->where('b.branch_id',$branch_id)
    //                     ->get()
    //                     ->result();
    // }   

    function add_record($data)
    {
        if($this->db->insert('ledger',$data))
        {
            return  $this->db->insert_id();
        }else
        {
            return FALSE;
        }
    }



    function edit_record($data,$id)
    {    
        $this->db->where('id',$id);     
        if($this->db->update('ledger',$data)){
            // echo $this->db->last_query();
            // exit;
            return true;
        }else{
            return false;
        }
    }

    function delete_record($id)
    {   
        // $ledger = $this->db->get_where('ledger',array('accountgroup_id'=>$id))->result();
        // $no_ledger    = sizeof($ledger);

        // echo $no_users;
        // exit;

        // if($no_ledger > 0)
        // {    
        //     return $no_ledger;
        // }
        // else
        // {
            $this->db->where('id', $id);
            if($this->db->delete('ledger'))
            {
                return true;
            }
            else
            {
                return false;
            }
        // }
    }

    public function getBranch()
    {
        $this->db->select('branch_id,branch_name');
        $branch = $this->db->get('branch');
        return $array = $branch->result_array();
    }
    
    public function getAccountGroup()
    {
        $this->db->select('id,group_title');
        $acc_group = $this->db->get('account_group');
        return $array = $acc_group->result_array();
    }
    
    public function addModel($data){
        $sql = "insert into discount (discount_name,discount_value,user_id) values(?,?,?)";
        if($this->db->query($sql,$data)){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }
    
    public function getRecord($id){
        $sql = "select * from discount where discount_id = ?";
        if($query = $this->db->query($sql,array($id))){
            return $query->result();
        }
        else{
            return FALSE;
        }
    }
    
    public function editModel($data,$id){
        $sql = "update discount set discount_name = ?,discount_value = ? where discount_id = ?";
        if($this->db->query($sql,array($data['discount_name'],$data['discount_value'],$id))){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }
    
    public function deleteModel($id){
        $sql = "delete from discount where discount_id = ?";
        if($this->db->query($sql,array($id))){
            return TRUE;
        }
        else{
            return FALSE;
        }
    }

    public function addLedger($data)
    {
        $this->db->insert('ledger', $data);
        return $this->db->insert_id();
    }
    
    public function getledgerWithJoin($id)
    {
        $this->db->select('L.*,B.branch_name,A.group_title');
        $this->db->from('ledger AS L');// I use aliasing make joins easier
        $this->db->join('branch AS B', 'B.id = L.branch_id', 'INNER');
        $this->db->join('account_group AS A', 'A.id = L.accountgroup_id', 'INNER');
        $this->db->where('L.id',$id);
        $q = $this->db->get();
        if( $q->num_rows() > 0 )
        {
            return $q->row();
        } 
    
        return FALSE;
    }
    
    public function getledgerById($id)
    {
        $q = $this->db->get_where('ledger', array('id' => $id), 1); 
        if( $q->num_rows() > 0 )
        {
            return $q->row();
        } 
    
        return FALSE;
    }
    
    public function updateLedger($ledgerDetail,$id)
    {
        $ledgerData = array(
            'branch_id'   =>  $ledgerDetail['branch_id'],
            'type'        =>  $ledgerDetail['type'],
            'title'                   =>  $ledgerDetail['title'],
            'accountgroup_id'   =>  $ledgerDetail['accountgroup_id'],
            'opening_balance'          =>  $ledgerDetail['opening_balance'],
            'closing_balance'          =>  $ledgerDetail['closing_balance'],
        );
        
        $this->db->where('id', $id);
        if($this->db->update('ledger', $ledgerData)) {
                return true;
        }
        return false;
    }

    public function getBillerLedgerDetail($ledger_id){
        $user = $this->db->get_where('biller', array('ledger_id' => $ledger_id))->row(); 
        if(is_null($user)){
            return false;
        }else{
            return $user->biller_id;
        }
    }

    public function getCustomerLedgerDetails($ledger_id){
        $user = $this->db->get_where('customer', array('ledger_id' => $ledger_id))->row();
        if(is_null($user)){
            return false;
        }else{
            return $user->customer_id;
        }
    }

    public function getBankLedgerDetails($ledger_id){
        $user = $this->db->get_where('bank_account', array('ledger_id' => $ledger_id))->row();
        if(is_null($user)){
            return false;
        }else{
            return true;
        }
    }

    public function getSuppliersLedgerDetails($ledger_id){
        $user = $this->db->get_where('suppliers', array('ledger_id' => $ledger_id))->row();
        if(is_null($user)){
            return false;
        }else{
            return true;
        }
    }

    public function getPurchaserLedgerDetails($ledger_id){
        $user = $this->db->get_where('users', array('ledger_id' => $ledger_id))->row();
        if(is_null($user)){
            return false;
        }else{
            return $user->id;
        }
    }



    public function deleteLedger($id)
    {
        if($this->db->delete('ledger', array('id' => $id))) {
            return true;
        }
            
        return FALSE;
    }
}
?>

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    听起来好像没有结果,所以什么都没有。在你尝试抓取它之前尝试这个来检查结果。

    function get_branch_from_ledger_id($id)
    {
        $rows = $this->db->select('l.*,a.branch_id')
            ->from('ledger l')
            ->join('account_group a','a.id = l.accountgroup_id')
            ->where('l.id',$id)
            ->get();
        
        return $rows ? $rows->row()->branch_id : false;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多