2012-09-01 14 views
5

के साथ सही उपनाम नाम नहीं मिल रहा है मैं केकपीएचपी पर नया हूं और एसक्यूएल एलियास के साथ समस्या का सामना कर रहा हूं। मैं MySQL डेटाबेस से एक रिपोर्ट उत्पन्न करने के लिए Excel फ़ाइल बनाना चाहता हूं।केकफ़्प

/** 
    * Generate transaction report 
    * 
    * @param none 
    * 
    * @return void 
    */ 
    public function generateReport() 
    { 

     //Getting data from the database to generate the report in Excel file 
     $data = $this->AchTransaction->find('all', array(
      //'conditions' => $searchCondition, 
      'fields' => array(
        "payee_name AS PAYEENAME", 
        'reference AS REFERENCE', 
        'reference2 AS REFERENCE2', 
        'currency AS CURRENCY', 
        'amount AS PAYOUTAMOUNT', 
        'bank_name AS BANKNAME', 
        'bank_branch_name AS BANKBRANCHNAME', 
        'bank_address AS BANKADDRESS', 
        'bank_country AS BANKCOUNTRY', 
        'account_name AS ACCOUNTNAME', 
        'account_class AS ACCOUNTCLASS', 
        'account_type AS ACCOUNTTYPE', 
        'bank_routing_number AS BANKROUTING', 
        'account_number AS ACCOUNT', 
        'beneficiary_address AS BENEFICIARYADDRESS', 
        'beneficiary_city AS BENEFICIARYCITY', 
        'beneficiary_state AS BENEFICIARYSTATE', 
        'beneficiary_postcode AS BENEFICIARYZIPCODE', 
        'beneficiary_country AS BENEFICIARYCOUNTRY', 
        'note as NOTE' 
        ), 
      'order' => array('AchTransaction.id DESC') 
       )); 



     // Generating Excel file 
     $this->Common->generateReport($data); 
    } 

मैं, एक्सेल उत्पन्न लेकिन उर्फ ​​में केवल एक ही समस्या हो रही करने के लिए आप

"payee_name AS PAYEENAME", 

यहाँ payee_name MySQL तालिका में स्तंभ या क्षेत्र का नाम है देख सकते हैं कर रहा हूँ, और मैं चाहता हूँ इस रूप में PAYEE NAME, लेकिन जब मैं लिखना:

+०१२३५१६४१०६१:

"payee_name AS PAYEE NAME", 

मैं इस MySQL त्रुटि हो रही है

Database Error 

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'payee_name AS PAYEE NAME' in 'field list' 

SQL Query: SELECT `payee_name AS PAYEE NAME`, `reference` AS `REFERENCE`, `reference2` AS `REFERENCE2`, `currency` AS `CURRENCY`, `amount` AS `PAYOUTAMOUNT`, `bank_name` AS `BANKNAME`, `bank_branch_name` AS `BANKBRANCHNAME`, `bank_address` AS `BANKADDRESS`, `bank_country` AS `BANKCOUNTRY`, `account_name` AS `ACCOUNTNAME`, `account_class` AS `ACCOUNTCLASS`, `account_type` AS `ACCOUNTTYPE`, `bank_routing_number` AS `BANKROUTING`, `account_number` AS `ACCOUNT`, `beneficiary_address` AS `BENEFICIARYADDRESS`, `beneficiary_city` AS `BENEFICIARYCITY`, `beneficiary_state` AS `BENEFICIARYSTATE`, `beneficiary_postcode` AS `BENEFICIARYZIPCODE`, `beneficiary_country` AS `BENEFICIARYCOUNTRY`, `note` AS `NOTE` FROM `aramor_payments`.`ach_transactions` AS `AchTransaction` WHERE 1 = 1 ORDER BY `AchTransaction`.`id` DESC 

Notice: If you want to customize this error message, create app\View\Errors\pdo_error.ctp 
Stack Trace 

    CORE\Cake\Model\Datasource\DboSource.php line 461 → PDOStatement->execute(array) 
    CORE\Cake\Model\Datasource\DboSource.php line 427 → DboSource->_execute(string, array) 
    CORE\Cake\Model\Datasource\DboSource.php line 671 → DboSource->execute(string, array, array) 
    CORE\Cake\Model\Datasource\DboSource.php line 1082 → DboSource->fetchAll(string, boolean) 
    CORE\Cake\Model\Model.php line 2631 → DboSource->read(AchTransaction, array) 
    APP\Controller\AchtransactionsController.php line 353 → Model->find(string, array) 
    [internal function] → AchtransactionsController->generateReport() 
    CORE\Cake\Controller\Controller.php line 485 → ReflectionMethod->invokeArgs(AchtransactionsController, array) 
    CORE\Cake\Routing\Dispatcher.php line 186 → Controller->invokeAction(CakeRequest) 
    CORE\Cake\Routing\Dispatcher.php line 161 → Dispatcher->_invoke(AchtransactionsController, CakeRequest, CakeResponse) 
    APP\webroot\index.php line 92 → Dispatcher->dispatch(CakeRequest, CakeResponse) 

क्या आप payee_name फ़ील्ड PAYEE NAME के नाम प्राप्त करने में मेरी सहायता कर सकते हैं?

+0

उपयोग कर रहा है आप '' की तरह [बैक उद्धरण के भीतर रिक्त स्थान वाले कॉलम के साथ वर्ग कोष्ठक का उपयोग कर सकते प्राप्तकर्ता का नाम] ' –

उत्तर

5

बदलें

"payee_name AS PAYEE NAME", 

"`payee_name` AS `PAYEE NAME`" 

लिए एक अन्य विकल्प virtualFields

$this->AchTransaction->virtualFields['PAYEE NAME'] = 'payee_name'; 
array('fields' => array('PAYEE NAME', 'etc')) 
+0

धन्यवाद दोस्त ..... :) – Ram

+0

आपको एसी होना चाहिए अगर यह आपकी समस्या @ राम को हल करता है तो इसे एक उत्तर के रूप में पकड़ा –

संबंधित मुद्दे