我必须使用一个无法修改的现有数据库。
有两个表,我需要链接一个HASHO许多关系(SGRAPHOST许多SSGART)。
困难在于,这些表是用两列连接起来的,没有一列是主键:
表结构的结构:
IDSPCART(int 9)
CGREST(INT 9)
CSOUSGRP(国际9)
德沙格特(VARCHAR 100)
表SSGART的结构:
IDSSGART(内景9)
CGREST(INT 9)
CSOUSGRP(国际9)
德沙格特(VARCHAR 100)
这种关系应该是:
SGARPTC.CGREST和SGRAPGR.CSUSORP= SSGARGP
我在SGRPART模型中尝试过,但是它没有从表SSGART返回相关的记录:
class SGRPART extends AppModel
{
public $name = 'SGRPART';
public $useTable = 'SGRPART';
public $primaryKey = 'IDSGRPART';
public $displayField = 'DESGRPART';
var $hasMany = array(
'SSGART' => array(
'foreignKey' => false,
'conditions' => array('SSGART.CGRPART' => 'SGRPART .CGRPART','SSGART.CSOUSGRP'=>'SGRPART .CSOUSGRP')
)
);
}
知道在Cakephp中是否可行吗?如果可以,怎么做?
谢谢,
詹姆斯
最佳答案
你能试试这个吗
public $hasMany = array(
'SSGART' => array(
'className' => 'SSGART',
'foreignKey' => 'IDSGRPART',
'dependent' => true,
'conditions' => array('SSGART.CGRPART' => 'SGRPART .CGRPART','SSGART.CSOUSGRP'=>'SGRPART .CSOUSGRP')
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
);
把它放在“SGRPART”模型中