繁体   English   中英

CakePHP:使用saveMany的未知列

[英]CakePHP: Unknown column with saveMany

我有以下要保存到数据库的数组。

$this->ProgramApplication->saveMany($priApps);  

$priApps:
Array
(
    [0] => Array
        (
            [ProgramCurrentResidence] => Array
                (
                    [program_id] => 3698076220130520
                    [customer_id] => jraer4081
                    [residence_duration] => 61-90-days
                    [residence_stability] => renting-leasing
                    [payment_current] => yes
                    [payment_amount_past_due] => 
                    [landlord_name] => Blake Woods
                    [landlord_phone] => (269)777-7777
                    [landlord_fax] => 
                    [notes] => 
                )


            [ProgramPreviousResidence] => Array
                (
                    [program_id] => 3698076220130520
                    [customer_id] => jrayner4081
                    [residence_duration] => 1year 
                    [street_address] => 1637 Colfax Ave
                    [city] => The Harbor
                    [state] => me
                    [zip] => 49022
                )
            )

    )

一直抛出以下错误...

数据库错误错误:SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ ProgramCurrentResidence.program_id”

SQL查询:SELECT ProgramApplication program_idProgramApplication customer_idProgramApplication secondary_customer_idProgramApplication secondary_customer_relationshipProgramApplication sales_associateProgramApplication storeProgramApplication created_onProgramApplication date_submittedProgramApplication date_deliveredProgramApplication stock_numberProgramApplication deal_statusProgramApplication deal_status_conditional_reasoningProgramApplication transfered_to_dealpackProgramApplication presubmittal_notesProgramApplication underwriters_notesProgramApplication modified_by FROM expreta2_x12 programs AS ProgramApplication WHERE(( ProgramCurrentResidenceprogram_id = '3698076220130520')AND( ProgramCurrentResidencecustomer_id = 'jrayner4081'))LIMIT 1

这是我的ProgramCurrentResidence模型...

<?php
class ProgramCurrentResidence extends AppModel {

    public $useTable = 'program_current_residences';

    public $primaryKey = 'program_id';

    public $belongsTo = array(
        'ProgramApplication' => array(
            'foreignKey' => 'program_id'
            )
        );

}
?>

程序应用程序模型中的一些代码

    <?php

class ProgramApplication extends AppModel {

    public $useTable = 'programs';
    public $primaryKey = 'program_id';

    public $actAs = array('Containable');

    public $belongsTo = array(
        'Inventory' => array(
            'foreignKey' => 'stock_number'
        ),
        'Customer' => array(
            'foreignKey' => 'customer_id'
        ),
        'Employee' => array(
            'foreignKey' => 'sales_associate'
        ),
        'CustomerPersonalInformation' => array(
            'foreignKey' => 'customer_id'
        ),
        'CustomerContactInformation' => array(
            'foreignKey' => 'customer_id'
        ),
        'CustomerMarketingOption' => array(
            'foreignKey' => 'customer_id'
        )
    );


    public $hasOne = array(
        'Desklog' => array(
            'foreignKey' => 'program_id'
        ),
        'Funding' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramCurrentResidence' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramPreviousResidence' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramCurrentEmployment' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramPreviousEmployment' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramIncome' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramReference' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramAdditionalInformation' => array(
            'foreignKey' => 'program_id'
        ),
        'ProgramDoublePreviousEmployment'=> array(
            'foreignKey' => 'program_id'
        ),
        'ProgramDoublePreviousResidence'=> array(
            'foreignKey' => 'program_id'
        ),
        'ProgramExpense'=> array(
            'foreignKey' => 'program_id'
        ),
        'ProgramVerificationWorksheet'=> array(
            'foreignKey' => 'program_id'
        )
    );

}

?>

这可能是您所谈论的内容。

// Get all the data corrosponding to the secondary customer
                $secondaryRow = $this->Customer->find('all', array(
                    'conditions' => array("Customer.customer_id" => $secondary),
                    'contain' => array(
                        'CustomerPersonalInformation',
                        'CustomerContactInformation',
                        'CustomerMarketingOption',
                        'ProgramApplication' => array(
                            'ProgramCurrentResidence',
                            'ProgramPreviousResidence',
                            'ProgramCurrentEmployment',
                            'ProgramPreviousEmployment',
                            'ProgramIncome',
                            'ProgramAdditionalInformation',
                            'ProgramDoublePreviousEmployment',
                            'ProgramDoublePreviousResidence',
                            'ProgramExpense',
                            'ProgramVerificationWorksheet'
                        ),
                        'CustomerInteraction'
                    ),
                ));

我知道该表包含使用的每个字段,但由于某种原因它会继续吐出此错误? 我假设它是模型,但我可能错了。

似乎您正在对ProgramApplication进行查找,而ProgramApplication中的模型与ProgramCurrentResidence没有关系。 您可能需要向ProgramApplication模型中添加一个hasOne或hasMany of ProgramCurrentResidence。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM