私はfirstName
とlastName
フィールドのUserエンティティを持っています。どのようにしてフルネームを任意の順序で検索できますか?たとえば、「John Doe」、「Doe John」、「John D」などの検索結果を表示します。Doctrineは2つのフィールドでフルネームを検索します
ここは私の現在の質問です。しかし、一度に1つの列だけを検索することができます。つまり、「firstName」または「lastName」に一致する結果を取得します。例えば、私は「ジョン」や「ドウ」の結果を得るが、「ジョン・ドウ」のため
$likeName = $name.'%';
$qb = $this->createQueryBuilder('user')
->where($qb->expr()->orX(
$qb->expr()->like('user.firstName', "'$likeName'"),
$qb->expr()->like('user.lastName', "'$likeName'")
);
"一度に1つの列でのみ検索できます"という意味はどうですか?あなたは、あなたが望む結果と、今、どのような結果が得られたのか、よく説明できますか? データのほんの少しの例を作ってください –
@AlessandroMinoccheriこれは、firsNameまたはlastNameが枯れている検索結果を得ることができますが、フルネームを入力すると何も得られません – julie