0

おはようございます、

調査で助けが必要ですが、私にはできません。Cakephp を使用する Web アプリケーション (php) を想像してみてください。このアプリケーションには、検索フィールドがあり、通常の入力が 1 つあります。このアプリケーションのデータベースに、(produtoNome)、(categoria)、(tags) の 3 つのフィールドを持つテーブルがあるとします。

この調査方法を以下に示します。既にテーブル フィールド (produtoNome) を検索しています。

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

質問は:

テーブルの 1 つだけでなく 3 つのフィールドを検索するにはどうすればよいですか?

つまり、誰かが検索フィールドに何かを入力すると、テーブルの複数のフィールドでこの検索が実行されます。

私はこれを試しました:

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

しかし、動作しません。何も返しません。

4

3 に答える 3

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

確かではありませんが、これでうまくいくはずです。

于 2013-06-03T15:03:59.153 に答える