$wpdb получить запись по 2-ум мета-ключам и значениям
Всем привет, не могу разобраться как сделать запрос $wpdb по двум мета-ключам:
$querystr = "
SELECT * FROM wp_postmeta
WHERE meta_key = '_candidate_email' AND meta_value = '[email protected]'
AND meta_key = 'hr' AND meta_value = '1'
";
$my_res = $wpdb->get_results($querystr);
Получаю пустой результат.
Хотя по отдельности:
$querystr = "
SELECT * FROM wp_postmeta
WHERE meta_key = '_candidate_email' AND meta_value = '[email protected]'
";
Запись получаю нормально.
Буду рад любым предложениям.
Ответы (1 шт):
Автор решения: Valerii Vasiliev
→ Ссылка
Нужно оформить условия через OR. И нужно использовать префикс переменную.
$querystr = "SELECT
COUNT(post_id) AS cnt, post_id
FROM
".$wpdb->prefix."postmeta
WHERE
(meta_key = '_candidate_email' AND meta_value = '[email protected]')
OR
(meta_key = 'hr' AND meta_value = '1')
GROUP BY
post_id
HAVING
cnt = 2";
$my_res = $wpdb->get_results($querystr);