【发布时间】:2012-04-23 17:50:16
【问题描述】:
我在 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列错误。
有人知道我哪里出错了吗?
提前致谢
【问题讨论】: