I should have added that I can get the same effect with this:

# In this example, Meet and Team are being connected through 
Participant_team
teamStaff = db(db.Meet.id <http://db.meet.id/> == request.args(1)).select(
               db.Meet.ALL, db.Team.ALL,
               join = [db.Participant_team.on(
                          db.Participant_team.Meet == 
db.Meet.id<http://db.meet.id/>
),
                       db.Team.on(db.Participant_team.Team == 
db.Team.id<http://db.team.id/>
)])


On Tuesday, September 11, 2012 9:04:25 AM UTC-6, MichaelF wrote:
>
> Section 6.21.1 in the manual talks about an alternative syntax for 1-many 
> joins, using the 'on' function. Is that technique available for many-many? 
> I try this and get an error:
>
> # In this example, Meet and Team are being connected through 
> Participant_team
> teamStaff = db(db.Meet.id == request.args(1)).select(
>                db.Meet.ALL, db.Team.ALL,
>                join = db.Team.on(
>                           (db.Participant_team.Meet == db.Meet.id) &
>                           (db.Participant_team.Team == db.Team.id)))
>
> The error is: "Unknown column 'Meet.id' in 'on clause'"
>
> I can change "db.Team.on" to "db.Participant_team.on", but I get the same 
> error.
>
> I have a lot of other JOINs that I must do, but this is the smallest 
> example that shows the problem.
>

-- 



Reply via email to