我正在使用 CakePHP 2.0 大约一个月,今天我发现 find() 上的 hasMany 关系存在一些问题。
模型 Usuario(用户)的关系如下:
$this->Usuario->bindModel(array(
'hasMany' => array(
'CambioCorreo' => array(
'className' => 'CambioCorreo',
'foreignKey' => 'id_usuario',
),
'Llave' => array(
'className' => 'Llave',
'foreignKey' => 'id_usuario',
))));
但是当我尝试使用这个发现时:
$u = $this->Usuario->find('all',array('conditions' => array('Llave.llave' => $llave,'Llave.id_tipo_llave' => 3,'Llave.fecha_creacion = CambioCorreo.fecha')));
, 我懂了:
错误:SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'Llave.llave'
奇怪的是,在做 hasMany 关系之前,我做了一个 hasOne 作为一个错误,它工作得很好。但是现在,我将bindModel从“hasOne”改为“hasMany”,出现SQL列错误。
有谁知道我在哪里犯错?
提前致谢