Rails 4 Inner Join在同一张桌子上

ste*_*cdn 3 sql postgresql join ruby-on-rails ruby-on-rails-4

在Rails 4应用程序中,我有以下关联:

User has_many :bookings
Booking belongs_to :client, class_name: "User"
Run Code Online (Sandbox Code Playgroud)

我试图通过表格来加入预订和客户端:

User.joins("INNER JOIN bookings on users.id = bookings.user_id").joins("INNER JOIN users on bookings.client_id = users.id") 
Run Code Online (Sandbox Code Playgroud)

哪个回报:

PG::DuplicateAlias: ERROR:  table name "users" specified more than once
Run Code Online (Sandbox Code Playgroud)

是否有解决方案来获取2个关联?

One*_*ofo 9

尝试

User.joins("INNER JOIN bookings on users.id = bookings.user_id").joins("INNER JOIN users AS bookings_user on bookings.client_id = bookings_user.id")
Run Code Online (Sandbox Code Playgroud)

请注意 users AS bookings_user