Pay Per View Shortcode in Custom Post Type and Custom Box Type

Hello there,
First, I have these plugins for my configuration:
- custom post type UI --> Custom post types and custom taxonomies in WordPress,
- meta box --> Create meta box for editing pages in WordPress,
- posts 2 posts --> Create many-to-many relationships between all types of posts.

Say as an example I have 2 custom posts type; "workshops" and "teachers". In workshops
posts I also have a custom meta box which has WYSIWYG type and where I locate the pay per view
shortcode.

Besides, both workshops and teachers are related each other by posts 2 posts plugin. So in
teachers posts I can display data from workshops. Finally when I want to display the pay per view
shortcode in workshops front end is Ok but when I want to display the shortcode in teachers
front end it does't work.

To display shortcode in workshops front end I use something like this…
if ( function_exists( 'wpmudev_ppw' ) )
echo wpmudev_ppw( rwmb_meta( 'workshop_content' ) )
else
    echo rwmb_meta( 'workshop_content' ); ?>
endif

…and it works.

To display shortcode in teachers front end I use something like this…
foreach($post->workshops as $workshop)
if ( function_exists( 'wpmudev_ppw' ) )
echo wpmudev_ppw( $workshop->workshop_content )
else
   echo $workshop->workshop_content
endif
endforeach

… and it doesn't works. It display all content between shortcode. If I use rwmb_meta( ) function it
shows nothing. rwmb_meta( ) function is similar to get_post_meta().

Please, someone can tell me how can I solve this problem?. I am not an expert programmer.

In advance thank you very much,
Rod