0

Friends名前、電話、住所、スカイプ、誕生日、メモのフィールドがあるというテーブルがあります。検索欄もあります。すべてのフィールドで検索するには? この種のものは検索ワード"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 が 2 人の友人の名前であるが、John という名前の友人のメモに「Ivan の友人」とあり、Peter が電子メール アドレスが peter@domain.com の友人の名前である場合、ユーザーはAna、Ivan、John、Peter の 4 つの行を受け取る必要があります。

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 に答える