github.com/zepatrik/pop@v4.13.1+incompatible/join.go (about)

     1  package pop
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  type joinClause struct {
     9  	JoinType  string
    10  	Table     string
    11  	On        string
    12  	Arguments []interface{}
    13  }
    14  
    15  type joinClauses []joinClause
    16  
    17  func (c joinClause) String() string {
    18  	sql := fmt.Sprintf("%s %s", c.JoinType, c.Table)
    19  
    20  	if len(c.On) > 0 {
    21  		sql += " ON " + c.On
    22  	}
    23  
    24  	return sql
    25  }
    26  
    27  func (c joinClauses) String() string {
    28  	var cs []string
    29  	for _, cl := range c {
    30  		cs = append(cs, cl.String())
    31  	}
    32  	return strings.Join(cs, " ")
    33  }