From b1bb428df5f8637e9661b31ac96e1ab7a84d11ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Justin=20K=C3=BChner?= Date: Wed, 21 May 2025 17:16:55 +0200 Subject: [PATCH] Feature: add RightJoin Function --- chainable_api.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chainable_api.go b/chainable_api.go index 8953413d..1fc8eb5f 100644 --- a/chainable_api.go +++ b/chainable_api.go @@ -255,6 +255,15 @@ func (db *DB) InnerJoins(query string, args ...interface{}) (tx *DB) { return joins(db, clause.InnerJoin, query, args...) } +// RightJoins specify Joins conditions +// +// db.RightJoins("Account").Find(&user) +// db.RightJoins("RIGHT JOIN emails ON emails.user_id = users.id AND emails.email = ?", "jinzhu@example.org").Find(&user) +// db.RightJoins("Account", DB.Select("id").Where("user_id = users.id AND name = ?", "someName").Model(&Account{})) +func (db *DB) RightJoins(query string, args ...interface{}) (tx *DB) { + return joins(db, clause.RightJoin, query, args...) +} + func joins(db *DB, joinType clause.JoinType, query string, args ...interface{}) (tx *DB) { tx = db.getInstance()