cuốn sách gpt4 ai đã làm

ruby-on-rails - :joins | change behavior inner join to left join

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 16:54:58 36 4
mua khóa gpt4 Nike

Tôi có hai bảng 'người dùng' và 'lms_users'

lớpLmsNgười dùng
thuộc về :người dùng
end

lớp người dùng
has_one :lms_user
end

Khi tôi viết Người dùng.all(:joins => :lms_user) khi nó sử dụng Tham gia nội bộ Tham gia bảng.

tôi muốn một cáitham gia trái. Làm thế nào để thay đổi hành vi này? (Tôi không muốn sử dụng lệnh SQL, chỉ sử dụng cú pháp Ruby.)

Tôi nên xử lý việc này như thế nào?

câu trả lời hay nhất

Bạn có thể sử dụng mà không cần SQL bao gồm Triển khai THAM GIA TRÁI, nhưng chỉ khi bạn chỉ định các ràng buộc bổ sung liên quan đến các cột trong các bảng đã nối (hoặc chỉ một order mệnh đề) (s).

User.includes(:lms_user).all

không tạo LEFT JOIN (thay vào đó tạo hai truy vấn riêng biệt), nhưng

User.includes(:lms_user).where(:lms_user => {:role => 'admin'}).all

cuộc họp.

Thông tin thêm về điều này

Về Ruby-on-Rails - :joins | thay đổi hành vi bên trong tham gia bên trái, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12496165/

36 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress