Refactor for readability
This commit is contained in:
		
							parent
							
								
									52cc438d07
								
							
						
					
					
						commit
						c301aeb524
					
				| @ -125,7 +125,19 @@ func BuildQuerySQL(db *gorm.DB) { | |||||||
| 						}) | 						}) | ||||||
| 					} | 					} | ||||||
| 
 | 
 | ||||||
| 					if join.On == nil { | 					if join.On != nil { | ||||||
|  | 						primaryFields := make([]clause.Column, len(relation.FieldSchema.PrimaryFieldDBNames)) | ||||||
|  | 						for idx, ref := range relation.FieldSchema.PrimaryFieldDBNames { | ||||||
|  | 							primaryFields[idx] = clause.Column{Table: tableAliasName, Name: ref} | ||||||
|  | 						} | ||||||
|  | 
 | ||||||
|  | 						exprs := db.Statement.BuildCondition("(?) = (?)", primaryFields, join.On) | ||||||
|  | 						joins = append(joins, clause.Join{ | ||||||
|  | 							Type:  clause.LeftJoin, | ||||||
|  | 							Table: clause.Table{Name: relation.FieldSchema.Table, Alias: tableAliasName}, | ||||||
|  | 							ON:    clause.Where{Exprs: exprs}, | ||||||
|  | 						}) | ||||||
|  | 					} else { | ||||||
| 						exprs := make([]clause.Expression, len(relation.References)) | 						exprs := make([]clause.Expression, len(relation.References)) | ||||||
| 						for idx, ref := range relation.References { | 						for idx, ref := range relation.References { | ||||||
| 							if ref.OwnPrimaryKey { | 							if ref.OwnPrimaryKey { | ||||||
| @ -147,18 +159,7 @@ func BuildQuerySQL(db *gorm.DB) { | |||||||
| 								} | 								} | ||||||
| 							} | 							} | ||||||
| 						} | 						} | ||||||
| 						joins = append(joins, clause.Join{ |  | ||||||
| 							Type:  clause.LeftJoin, |  | ||||||
| 							Table: clause.Table{Name: relation.FieldSchema.Table, Alias: tableAliasName}, |  | ||||||
| 							ON:    clause.Where{Exprs: exprs}, |  | ||||||
| 						}) |  | ||||||
| 					} else { |  | ||||||
| 						primaryFields := make([]clause.Column, len(relation.FieldSchema.PrimaryFieldDBNames)) |  | ||||||
| 						for idx, ref := range relation.FieldSchema.PrimaryFieldDBNames { |  | ||||||
| 							primaryFields[idx] = clause.Column{Table: tableAliasName, Name: ref} |  | ||||||
| 						} |  | ||||||
| 
 | 
 | ||||||
| 						exprs := db.Statement.BuildCondition("(?) = (?)", primaryFields, join.On) |  | ||||||
| 						joins = append(joins, clause.Join{ | 						joins = append(joins, clause.Join{ | ||||||
| 							Type:  clause.LeftJoin, | 							Type:  clause.LeftJoin, | ||||||
| 							Table: clause.Table{Name: relation.FieldSchema.Table, Alias: tableAliasName}, | 							Table: clause.Table{Name: relation.FieldSchema.Table, Alias: tableAliasName}, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Adrien Carreira
						Adrien Carreira