Получение результатов из WPDB

#mysql #database #wordpress

#mysql #База данных #wordpress

Вопрос:

У меня есть этот сценарий, который я не могу понять:

Внутри таблицы wp_comment мне нужно перечислить все user_id (не дублировать) comment_type=complete .

Я попробовал это:

 $results = $GLOBALS['wpdb']->get_results( "SELECT * FROM wp_comments WHERE comment_type='sensei_course_status' AND comment_approved='complete'", ARRAY_A );

$corsisti = $results[user_id];

// I need to print only ids to put this array in
get_users( include=> '$corsisti' )
  

Скриншот базы данных:

скриншот базы данных

Ответ №1:

Вы можете использовать метод wpdb::get_col() для извлечения массива со значениями из одного столбца:

 $corsisti = $GLOBALS['wpdb']->get_col( "SELECT `user_id` FROM wp_comments WHERE comment_type='sensei_course_status' AND comment_approved='complete'");
  

Затем просто используйте результат в get_users (вам не нужны кавычки):

 $users = get_users( include=> $corsisti );
  

Комментарии:

1. Спасибо, это не работает. Это массив с массивом var_dump(6) {[0]=> строка (7) «идентификатор пользователя» [1]=> строка (7) «идентификатор пользователя» [2]=> строка (7) «идентификатор пользователя» [3]=> строка (7) «идентификатор пользователя» [4]=> строка (7) «идентификатор пользователя» [5] => строка (7) «идентификатор пользователя» }