如何使用cakephp在数据库的多个列中进行搜索

时间:2013-06-03 13:01:09

标签: php select cakephp-2.0

早上好,

我在调查中需要一些帮助,我无法做到。   想象一个Web应用程序(php),它使用cakephp。   在这个应用程序中,我有一个搜索字段,一个正常输入。   并且假设这个应用程序在数据库中有一个包含3个字段的表,(produtoNome),(categoria),(tags)。

下面的研究怎么样,我已经搜索了表字段(produtoNome)。

  $this->Anuncio->find('all',array('conditions' => array('produtoNome'=> array('$regex' => (string)$pesq))));

问题是:

如何进行搜索,搜索表格的3个字段不仅仅是一个?

换句话说,当有人在搜索字段中输入内容时,它会在表格的多个字段中执行此搜索。

我试过了:

$produtos = $this->Anuncio->find('all',
            array('conditions' => 
              array('OR' =>
                 array(
                   array('produtoNome'=> array('$regex' => (string)$pesq)),
                   array('categoria'=> array('$regex' => (string)$pesq))
                 )
              ),
            )
          );

但不起作用。什么都不返回。

3 个答案:

答案 0 :(得分:0)

$produtos = $this->Anuncio->find('all',
        array('conditions' => 
          array('OR' =>
             array(
               'produtoNome'=> array('$regex' => (string)$pesq),
               'categoria'=> array('$regex' => (string)$pesq)
             )
          ),
        )
      );

不确定,但这应该可以解决问题。

答案 1 :(得分:0)

我很乐意看到蛋糕的查询。

从未见过蛋糕的'$ regex'语法,在文档中找不到它,在互联网上找不到任何参考 - 你从哪里得到的?我现在使用蛋糕很长一段时间而且从来没有出现过(虽然我从来不需要regexp查询)

[对不起,声誉低,不能发表评论]

答案 2 :(得分:0)

所以,我得做这项研究。   为了工作,所以我不得不将'OR'修改为'$或'