编辑 - 使用包含的代码。
$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' => ''
)
);
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' => ''
)
);
我知道我必须遗漏一些东西,但我无法找到它。
非常感谢任何帮助。