Basically what I've done is created a new object, UserLesson, which ties users to lessons. It allows you to do all kinds of cool queries, like this:
Code:
$user = new User($login_id);
// get all of a user's lessons
$user->userlesson
->include_related('lesson', '*', TRUE, TRUE)
->include_related('experienceyear', '*', TRUE, TRUE)
->get_iterated();
// get all of a user's Math lessons
$user->userlesson
->include_related('lesson', '*', TRUE, TRUE)
->include_related('experienceyear', '*', TRUE, TRUE)
->where_related('lesson', 'name', 'Math')
->get_iterated();
// get all math or biology lessons, and the users associated with them
$userlessons = new UserLesson();
$userlessons
->include_related('user', array('firstname','lastname'))
->include_related('lesson', 'name')
->where_in_related('lesson', 'name', array('Math', 'Biology'))
->order_by_related('lesson', 'name')
->get_paged_iterated($page, 20);
foreach($userlessons as $userlesson) {
echo($userlesson->lesson_name .
' is taught by ' . $userlesson->user_firstname . ' ' . $userlesson->user_lastname .
'<br/>');
}
Hopefully that will give you some starting points.