如果我有两个表,在一个拥有且属于多的关系(例如成员和事件)和一个连接表(例如 MemberEvents)中,我如何指定事件存在于与成员的条件关系中 - 即, 我想根据一些事件的标准选择一些成员?我需要使用我的模型代码,而不是我的控制器代码——毕竟胖模型,瘦控制器。
cakephp 手册在这一点上不是很清楚,并且由于以下代码(我想要的)而加剧了这一点:
public $hasAndBelongsToMany = array(
'Member' => array(
'className' => 'Member',
'unique' => 'keepExisting'
),
'ConfirmedMembers'=> array(
'className' => 'Member',
'unique' => 'keepExisting',
'conditions' => array('EventsMember.is_confirmed'=>1)
),
'UnconfirmedMembers'=> array(
'className' => 'Member',
'unique' => 'keepExisting',
'conditions' => array('EventsMember.is_confirmed'=>0)
)
);
.. 在 SQLite 中工作得非常好,但在 MySQL 中却不行。MySQL会发生什么?这个:
错误:SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列 'Event.course_id'
(有关该错误的更多详细信息:http: //pastebin.com/5byPu9NR)
任何帮助,将不胜感激。