【发布时间】:2010-10-25 17:31:53
【问题描述】:
一个错误有一个状态,并且有并且属于许多用户组。
现在,在列出错误时,我使用了分页助手,并让用户能够通过各种设置对其进行过滤。到目前为止效果很好。您可以按项目过滤它,您可以按状态(通过 bug 的 state_id 属性)和其他几个项目过滤它。现在我希望它被负责该错误的组过滤。
由于这是一个 HABTM 连接,我使用“连接”来连接表。
这就是我的 $this->paginate 的样子:
[limit] => 10
[contain] => Array
(
[0] => Project
[1] => User
[2] => Priority
[3] => State
[Comment] => Array
(
[0] => User
)
[4] => Screenshot
[5] => Group
)
[conditions] => Array
(
[Bug.project_id] => 26
[Bug.state_id] => 1
)
[Bug] => Array
(
[joins] => Array
(
[0] => Array
(
[table] => bugs_groups
[alias] => BugsGroups
[type] => inner
[conditions] => Array
(
[0] => BugsGroups.bug_id = Bug.id
)
)
[1] => Array
(
[table] => groups
[alias] => Group
[type] => inner
[conditions] => Array
(
[0] => Group.id = BugsGroups.group_id
[Group.id] => 9
)
)
)
)
奇怪的是 - 当我使用 “加入”之前的条件(project_id,state_id)完全被忽略了?!这是蛋糕中的预期行为吗?我将如何规避它?
【问题讨论】:
-
打开调试并输出你的 SQL 日志,看看它在后台做了什么。
-
已经做到了——它完全按照我说的做——一旦我使用连接,它就会忽略“条件”部分中的任何内容。我只是不明白为什么。