Comment utiliser plusieurs meta_key et meta_value pour rechercher des utilisateurs?
Par exemple, je souhaite rechercher et trouver le nom d'utilisateur correspondant à "David" et son emplacement à "Londres".
J'utilise cette requête, mais rien en résultat!
$query = "SELECT user_id FROM $wpdb->usermeta WHERE (meta_value LIKE '%%david%%') AND (meta_key = 'first_name') AND (meta_value LIKE '%%london%%') AND (meta_key = 'location')";
$rows = $wpdb->get_results($query);
Merci
Votre requête est fausse, c'est comme ça que nous le notons car il n'y a pas de ligne dans la base de données contenant plus d'une méta_key. Ce que vous pouvez faire à la place est de créer une sous-requête pour obtenir tous les identifiants d'utilisateurs résidant à Londres en tant que sous-requête et de les utiliser pour filtrer les identifiants d'utilisateurs nommés David.
$query = "SELECT user_id FROM $wpdb->usermeta
WHERE (meta_value LIKE '%%david%%')
AND (meta_key = 'first_name')
AND user_id IN (SELECT user_id FROM $wpdb->usermeta WHERE (meta_value LIKE '%%london%%') AND (meta_key = 'location'))";
$rows = $wpdb->get_results($query)