【发布时间】:2016-01-01 07:53:03
【问题描述】:
我正在使用CakePHP 2.5。我有下表
CompanyMaster:
- company_master_id [PK]
- 名称和其他列
CompanySignatoryDetails:(单个公司有多个所有者)
- company_signatory_details_id [PK]
- company_master_id [FK]
- 名称和其他列
现在,我想获取该公司所有所有者的公司详细信息。这是我尝试过的。
$this->CompanyMaster->bindModel(
array(
'hasMany' => array(
'CompanySignatoryDetails' => array(
'className' => 'CompanySignatoryDetails',
'foreignKey' => false,
'conditions' => array(
'CompanySignatoryDetails.company_master_id = CompanyMaster.company_master_id'
),
),
)
)
);
$this->CompanyMaster->recursive = 2;
$company = $this->CompanyMaster->find('first', array(
'fields' => array('CompanyMaster.*'),
'conditions' => $conditions, //company id in condition
));
我收到以下错误:
Database Error
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'CompanyMaster.id' in 'field list'
SQL Query:
SELECT `CompanyMaster`.*, `CompanyMaster`.`id` FROM `crawler_output`.`company_master` AS `CompanyMaster` WHERE `CompanyMaster`.`company_master_id` = 1 LIMIT 1
请告诉我如何在没有id 作为列名的情况下绑定模型。
【问题讨论】:
-
您是否在
CompanyMaster模型类中正确定义了非标准主键? -
@ndm 实际上我的问题引导我定义非标准主键。现在知道了,谢谢
标签: mysql cakephp cakephp-2.5 cakephp-2.x