Ada cara tetapi semakin mahal semakin Anda menambahkan bidang. Hal yang sama terjadi pada banyak CMS yang memilih untuk menyimpan data pengguna tambahan dalam bentuk tersebut.
Anda bisa mendapatkan SQL pencarian yang berfungsi menggunakan ini:
SELECT
users.*,
firstname.data AS firstname,
lastname.data AS lastname,
eyecolor.data AS eyecolor,
FROM
users
LEFT JOIN completed_form_fields AS firstname ON firstname.userid = users.id AND firstname.fieldkey = "firstname"
LEFT JOIN completed_form_fields AS lastname ON lastname.userid = users.id AND lastname.fieldkey = "lastname"
LEFT JOIN completed_form_fields AS eyecolor ON eyecolor.userid = users.id AND eyecolor.fieldkey = "eyecolor"
WHERE
firstname.data LIKE '%searchdata%'
OR lastname.data LIKE '%searchdata%'
OR eyecolor.data LIKE '%searchdata%'
Metode ini menjadi sangat besar dan mahal untuk server MySQL semakin Anda menambahkan tabel. Oleh karena itu, saya akan merekomendasikan untuk tidak lebih dari 10-15 bergabung seperti itu dan sekali lagi, saya akan membuat profil untuk memastikan.