MySQLでカラムを結合して検索する。あとDoctrineのQueryBuilderでの書き方。
id | last_name | first_name |
---|---|---|
1 | 田中 | 太郎 |
2 | 山田 | 花子 |
3 | 鈴木 | 一郎 |
氏名を別々のカラムにしているときに、それらを結合して検索したい(例えば 山田花子
とかで検索したい)とき。
SELECT * FROM user WHERE CONCAT(last_name, first_name) like "山田花子";
はい、 CONCAT
を使えばいいですね。
DoctrineのQueryBuilderの場合も悩まず素直に
<?php // ... ->where('concat(user.lastName, user.firstName) like :userName') ->setParameter('userName', '山田花子') // ...
でいける。