Cakephp 2.0包含不起作用

时间:2012-03-29 14:04:33

标签: cakephp-2.0

编辑 - 使用包含的代码。

$this->paginate = array(
            'limit' => 20,
            'order' => array(
                'Individual.last_name' => 'asc',
                'Individual.first_name' => 'asc'
            ),
            'contain' => array(
                'AccountsTrailersIndividual' => array(
                    'fields' => array('id', 'accounts_trailer_id', 'individual_id', 'account_holder_id'),
                    'AccountsTrailer' => array(
                        'fields' => array('id', 'account_id', 'trailer_id', 'charge_off_date', 'closed_date'),
                        'Balance' => array(
                            'fields' => array('id', 'accounts_trailer_id', 'balance')
                        ),
                        'Account' => array(
                            'fields' => array('id', 'account_number'),
                            'conditions' => array('account_number' => $search)
                        ),
                    ),
                    'AccountHolder' => array(
                        'fields' => array('id', 'name')
                    )
                ),
            ),
            'fields' => array('id', 'first_name', 'middle_initial', 'last_name', 'suffix'),
        );

我正在尝试将我的数据包含在内,只能提取我需要的内容而且它无法正常工作。我已经把所有东西都设置得正确但我认为它给了我错误。我所拥有的是我的appModel.php文件

public $actsAs = array('Containable');

我得到的错误如下:

Model "AccountsTrailersIndividual" is not associated with model "AccountsTrailer" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 339]

Model "AccountsTrailersIndividual" is not associated with model "AccountHolder" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 339]

我检查了所述模型中的关联,并且存在关联。 对于AccountsTrailersIndividual,它看起来像这样

public $belongsTo = array(
    'Individual' => array(
        'className' => 'Individual',
        'foreignKey' => 'individual_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'AccountsTrailer' => array(
        'className' => 'AccountsTrailer',
        'foreignKey' => 'accounts_trailer_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'AccountHolder' => array(
        'className' => 'AccountHolder',
        'foreignKey' => 'account_holder_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )
);
for AccountsTrailer

public $hasAndBelongsToMany = array(
    'Individual' => array(
        'className' => 'Individual',
        'joinTable' => 'accounts_trailers_individuals',
        'foreignKey' => 'accounts_trailer_id',
        'associationForeignKey' => 'individual_id',
        'unique' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    )
);

和AccountHolder

public $hasMany = array(
    'AccountsTrailersIndividual' => array(
        'className' => 'AccountsTrailersIndividual',
        'foreignKey' => 'account_holder_id',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    )
);

我知道我必须遗漏一些东西,但我无法找到它。

非常感谢任何帮助。

0 个答案:

没有答案