0

我有一张表Friends,它的字段是姓名、电话、地址、Skype、生日和便笺。还有一个搜索文件。如何搜索所有领域?这种东西对搜索词"Ana"有用吗?有更好的方法吗?

$qb->select('f')
   ->from('Friends', 'f')
   ->where('f.name = :name')
   ->orWhere('f.phone = :phone')->orWhere('f.address = :address')-> ... 
   ->setParameters( array(
     'name' => 'Ana',
     'phone' => 'Ana', ...  ));

而且我还想问如何搜索每个单词(比如全文搜索)?我的意思是,如果用户写“Ana Ivan peter@domain.com”来接收所有在他们的字段中(无论在哪个字段中)Ana、Ivan 和 peter@domain.com 的行。

例如,如果 Ana 和 Ivan 是其中两个朋友的姓名,但朋友 John 的备注显示“Ivan 的朋友”,而 Peter 是电子邮件 peter@domain.com 的朋友的姓名,则用户应该收到四行 - Ana、Ivan、John 和 Peter。

4

1 回答 1

0

我不确定这一点,但我认为这可能有效

$search_string = '%".$_POST['search']."%';
$qb-> "select 'f' from 'Friends' where f.name LIKE ':search_string' or f.phone  LIKE ':search_string' or ...";
于 2012-08-31T13:33:43.320 回答