Zend DB: null değerler

0 Cevap php

Bu sorgu null değerleri dönen neden bazı biri açıklayabilir eğer ben bunu takdir ediyorum. This query works fine when I use the fetchRow() method.

public function getCustomerRowWithAddress($customer_id)
{

    $select = $this->select()->setIntegrityCheck(false);

    $select->from('irh_TV.irh_site_location AS SL', array('name as location_name', 'start_date', 'end_date', 'service_pack_id', 'stb_id'));
    $select->joinLeft('irh_TV.irh_customers AS C', 'C.customer_id = SL.customer_id AND C.active = 1 AND C.site_id = SL.site_id', 
        array('customer_id','surname', 'title', 'site_id', 'first_name', 'company', 'business_no', 'home_no', 'mobile_no', 'email', 'address_id'));
    $select->joinLeft('irh_TV.tv_stb_data AS TV', 'TV.site_id = SL.site_id AND SL.stb_id = TV.id', array('user_id as mac_address'));
    $select->joinLeft('irh_TV.irh_address AS AD', 'C.address_id = AD.id', array('address_line1', 'address_line2', 'town', 'county', 'country', 'postcode'));
    $select->where("SL.customer_id = $customer_id");   
    //if($_REQUEST['d'] == 1) { echo $select; }
    _syslog($select);
    //$_rows = $this->fetchRow($select);
    $_rows = $this->fetchAll($select);

    return $_rows;
}

EDIT:

Ben şöyle satırkümesi erişmeye çalıştığınızda:

    $model      = _getModel();
    $table      = $model->getTable("irh_customers");
    $customer_address_row = $table->getCustomerRowWithAddress($id);
    //$customer_address_row = $table->getCustomerRowsWithAddress($id);
    //$this->_row = $customer_address_row ? $customer_address_row : $table->getRowById($id);

    $row_count = count($customer_address_row);
    if($row_count > 0){
        ///$rows = $this->_row->toArray();
        $this->exists = true;
        $this->id = $id;
        if($row_count > 1){

            //$array = $customer_address_row->toArray();
            foreach($customer_address_row->toArray() as $row){

                foreach($row as $k => $v){
                    //if($k != 'stb_id' || $k != 'mac_address'){
                        if(!isset($this->k[$k])){
                            $this->k[$k] = $v;
                        }
                    /*}else if($k == 'stb_id'){
                        $this->k['stb_id'][] = $v;
                    }
                    else if($k == 'mac_address'){
                        $this->k['mac_address'][] = $v;
                    }*/
                }
            }
        }else{
            foreach($customer_address_row->toArray() as $k => $v)
            {
                _syslog($v);
                $this->k[$k] = $v;
            }
        }
   }

0 Cevap