我有一个名为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。
答案 0 :(得分:0)
我不确定这一点,但我认为这可能有效
$search_string = '%".$_POST['search']."%';
$qb-> "select 'f' from 'Friends' where f.name LIKE ':search_string' or f.phone LIKE ':search_string' or ...";