Wordpress-Mysql:需要从一个表中提取值来过滤字段"";course_id";


Wordpress - Mysql: Need to extract values from a table filtering it on the field "course_id" from a second table

我有两个表第一个包含成员级别和相关课程的列表(例如:分配给级别1的课程1、分配给级别2的课程2、分配给等级2的课程3(第二个包含所有课程的列表。我只想列出与当前用户级别相关联的课程。所以我写道:

全球

 $wpcwdb, $wpdb;
    if (!current_user_can('administrator')) {
        function get_user_roles_by_user_id( $user_id ) {
        $user = get_userdata( $user_id );
        return empty( $user ) ? array() : $user->roles;
        }
        $user_id = get_current_user_id();
        $user_ad_roles= get_user_roles_by_user_id($user_id);
        $user_ad_roles= implode("','",$user_ad_roles);
        echo $user_ad_roles;
// and this show the role (level) for the current user
// then interrogate the table 1
$SQL = "
                SELECT course_id 
                FROM $wpcwdb->map_member_levels
                WHERE member_level_id = '$user_ad_roles' ";
                $corsi_del_livello = $wpdb->get_results($SQL);
//now I need to filter the second table on the results of this first query
$SQL = "
                SELECT * 
                FROM $wpcwdb->courses
                WHERE course_id IN(".implode(',',$corsi_del_livello).")
                ORDER BY $orderBy $ordering";
        $courses = $wpdb->get_results($SQL);
    }

但它不起作用。

在Wordpress中,我得到以下错误"Catchable fatal error: Object of class stdClass could not be converted to string in C:'xampp'htdocs'profad.it'wp-content'plugins'wp-courseware'pages'page_course_das‌​hboard.inc.php on line 79"。第79行是第二个查询中的"WHERE"子句。

有人能帮我吗?

已解决!!我在两张表之间进行了一次Join,这就是代码:

global $wpcwdb, $wpdb;
    if (!current_user_can('administrator')) {
        function get_user_roles_by_user_id( $user_id ) {
        $user = get_userdata( $user_id );
        return empty( $user ) ? array() : $user->roles;
        }
        $user_id = get_current_user_id();
        $user_ad_roles= get_user_roles_by_user_id($user_id);
        $user_ad_roles= implode("','",$user_ad_roles);
        echo $user_ad_roles;
    $livelli= $wpcwdb->map_member_levels;
        $corsi= $wpcwdb->courses;
        $SQL = "
                SELECT $livelli.course_id, $corsi.*
                FROM $corsi INNER JOIN $livelli ON $corsi.course_id = $livelli.course_id 
                WHERE $livelli.member_level_id = '$user_ad_roles' ";
        $courses = $wpdb->get_results($SQL);
    }