我试图在我的CakePHP应用程序中构建一个基本的搜索功能。只有两个字段需要被搜索。我有一些代码在我的控制器从形式拿两个搜索值:CakePHP:多个条件上的过滤器视图只返回一个结果
$options = array('Model.id' => $this->request->data['Model']['id'],
'Model.field2' => $this->request->data['Model']['field2']);
$this->set('views', $this->Paginator->paginate('Model', $options));
这些投入都来自下拉列表和两者都需要。现在,当我运行我的搜索,只返回一个结果,在域2下拉第一可选选项,就像这样:
ID Field2
1 Value1
OR
ID Field2
2 Value1
如果我搜索在FIELD2任何其他值,我没有得到任何结果。如果我将field2的下拉列表注释掉并且只搜索ID,那么我将得到具有该ID的所有行(约500,这是预期的)。为什么当我在第二个下拉列表中搜索ID和Value1以外的任何值时,我的结果为空?
要传递一个'WHERE和'查询,'其中model.id =请求[模型] [ID]和model.field2 =请求[模型] [FIELD2 ]“这是你想要的吗? –
正确。该ID附加到500个记录,但每个记录都属于一个对应的field2值。两者都以两个表中存在的序列号(1-500)为键。 – Chris
我相信你的'$ options'数组需要是'''''外部数组中的一个元素。 http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#query-setup –