Преобразование WP_User_Query в SQL-запросPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Преобразование WP_User_Query в SQL-запрос

Сообщение Anonymous »

Я хотел бы преобразовать WP_User_Query в запрос SQL.
Это исходный пользовательский запрос:

Код: Выделить всё

// $roles is an array of user roles and may vary based on user input
// E.g.: $roles = array('editor', 'author');

$args_users = array(
'role__in' => $roles,
'meta_query' => array(
array(
'key'   => 'my_meta_key',
'value' => 'my_meta_value',
'compare' => '='
)
),
'count_total' => true
);

$users = new WP_User_Query( $args_users );
$users_count = $users->get_total();

echo $users_count; // Returns 15.
И вот что я пробовал до сих пор, но безуспешно:

Код: Выделить всё

$placeholders = implode( ', ', array_fill( 0, count( $roles ), '%s' ) );

$users_count = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->users
LEFT JOIN $wpdb->usermeta AS um1 ON $wpdb->users.ID = um1.user_id
LEFT JOIN $wpdb->usermeta AS um2 ON $wpdb->users.ID = um2.user_id
WHERE  um1.meta_key = 'my_meta_key' AND um1.meta_value = 'my_meta_value'
AND um2.meta_key = 'wp_capabilities' AND um2.meta_value IN ($placeholders)",
$roles
)
);

echo $users_count; // Returns 0. Should return 15.
Оба должны возвращать 15, но запрос SQL возвращает 0.

Подробнее здесь: https://stackoverflow.com/questions/780 ... -sql-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»