php - CakePHP:带有 saveMany 的未知列

标签 php mysql cakephp

我有以下数组,我正在尝试将其保存到数据库中..

$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_id, ProgramApplication.customer_id, ProgramApplication >.secondary_customer_idProgramApplication.secondary_customer_relationshipProgramApplication.sales_associate ProgramApplication.storeProgramApplication.created_onProgramApplication.date_subscribed , ProgramApplication.date_delivered, ProgramApplication.stock_number, ProgramApplication.deal_status ProgramApplicationdeal_status_conditional_reasoningProgramApplicationtransfered_to_dealpackProgramApplicationpresubmittal_notesProgramApplicationunderwriters_notesProgramApplicationmodified_by来自expreta2_x12.programs AS ProgramApplication WHERE ((ProgramCurrentResidence.program_id = '3698076220130520') AND (ProgramCurrentResidence.customer_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 没有关系。 您可能需要将 ProgramCurrentResidence 的 hasOne 或 hasMany 添加到 ProgramApplication 模型。

关于php - CakePHP:带有 saveMany 的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21053464/

相关文章:

javascript - 如何根据浏览器提供不同的内容

mysql - 如何在mysql中从500索引开始自动递增而不是1

mysql - 稍后如何使用 scala play-framework 应用程序创建数据库?

php - cakePHP发送的电子邮件,如何在变量中设置管理员电子邮件地址?

mysql - Cakephp 查找 ('list' ) 与汇总数据返回空值

php - 如何避免多次加载 jQuery 脚本?

php - 当单台机器上的多个 Laravel 项目或 Laravel 不读取 .env 文件时冲突数据库

mysql - Rails ActiveRecord Mysql2::错误:未知列 'objectname.'

html - CakePHP 隐藏_方法 POST

php - 密码哈希方法