func (o *Poll) AddPollsFactorsPositions(ctx context.Context, exec boil.ContextExecutor, insert bool, related ...*PollsFactorsPosition) error {
	var err error
	for _, rel := range related {
		if insert {
			rel.PollID = o.ParentPollID
			if err = rel.Insert(ctx, exec, boil.Infer()); err != nil {
				return errors.Wrap(err, "failed to insert into foreign table")
			}
		} else {
			updateQuery := fmt.Sprintf(
				"UPDATE \"polls_factors_positions\" SET %s WHERE %s",
				strmangle.SetParamNames("\"", "\"", 1, []string{"poll_id"}),
				strmangle.WhereClause("\"", "\"", 2, pollsFactorsPositionPrimaryKeyColumns),
			)
			values := []interface{}{o.ParentPollID, rel.PollFactorPositionID}

			if boil.DebugMode {
				fmt.Fprintln(boil.DebugWriter, updateQuery)
				fmt.Fprintln(boil.DebugWriter, values)
			}

			if _, err = exec.ExecContext(ctx, updateQuery, values...); err != nil {
				return errors.Wrap(err, "failed to update foreign table")
			}

			rel.PollID = o.ParentPollID
		}
	}

	if o.R == nil {
		o.R = &pollR{
			PollsFactorsPositions: related,
		}
	} else {
		o.R.PollsFactorsPositions = append(o.R.PollsFactorsPositions, related...)
	}

	for _, rel := range related {
		if rel.R == nil {
			rel.R = &pollsFactorsPositionR{
				Poll: o,
			}
		} else {
			rel.R.Poll = o
		}
	}
	return nil
}
// AddPollsFactorsPositions adds the given related objects to the existing relationships
// of the poll, optionally inserting them as new records.
// Appends related to o.R.PollsFactorsPositions.
// Sets related.R.Poll appropriately.
AddPollsFactorsPositions adds the given related objects to the existing relationships
of the poll, optionally inserting them as new records.
Appends related to o.R.PollsFactorsPositions.
Sets related.R.Poll appropriately.
// AddPollsFactorsPositions adds the given related objects to the existing relationships // of the poll optionally inserting them as new records . // Appends related to o . R . PollsFactorsPositions . // Sets related . R . Poll appropriately .
func (o *Poll) AddPollsFactorsPositions(ctx context.Context, exec boil.ContextExecutor, insert bool, related ...*PollsFactorsPosition) error {
	var err error
	for _, rel := range related {
		if insert {
			rel.PollID = o.ParentPollID
			if err = rel.Insert(ctx, exec, boil.Infer()); err != nil {
				return errors.Wrap(err, "failed to insert into foreign table")
			}
		} else {
			updateQuery := fmt.Sprintf(
				"UPDATE \"polls_factors_positions\" SET %s WHERE %s",
				strmangle.SetParamNames("\"", "\"", 1, []string{"poll_id"}),
				strmangle.WhereClause("\"", "\"", 2, pollsFactorsPositionPrimaryKeyColumns),
			)
			values := []interface{}{o.ParentPollID, rel.PollFactorPositionID}
			if boil.DebugMode {
				fmt.Fprintln(boil.DebugWriter, updateQuery)
				fmt.Fprintln(boil.DebugWriter, values)
			}
			if _, err = exec.ExecContext(ctx, updateQuery, values...); err != nil {
				return errors.Wrap(err, "failed to update foreign table")
			}
			rel.PollID = o.ParentPollID
		}
	}
	if o.R == nil {
		o.R = &pollR{
			PollsFactorsPositions: related,
		}
	} else {
		o.R.PollsFactorsPositions = append(o.R.PollsFactorsPositions, related...)
	}
	for _, rel := range related {
		if rel.R == nil {
			rel.R = &pollsFactorsPositionR{
				Poll: o,
			}
		} else {
			rel.R.Poll = o
		}
	}
	return nil
}
func ( o * Poll ) AddPollsFactorsPositions ( ctx context . Context , exec boil . ContextExecutor , insert bool , related ... * PollsFactorsPosition ) error { var err error for _ , rel := range related { if insert { rel . PollID = o . ParentPollID if err = rel . Insert ( ctx , exec , boil . Infer ( ) ) ; err != nil { return errors . Wrap ( err , " " ) } } else { updateQuery := fmt . Sprintf ( " \" \" " , strmangle . SetParamNames ( " \" " , " \" " , 1 , [ ] string { " " } ) , strmangle . WhereClause ( " \" " , " \" " , 2 , pollsFactorsPositionPrimaryKeyColumns ) , ) values := [ ] interface { } { o . ParentPollID , rel . PollFactorPositionID } if boil . DebugMode { fmt . Fprintln ( boil . DebugWriter , updateQuery ) fmt . Fprintln ( boil . DebugWriter , values ) } if _ , err = exec . ExecContext ( ctx , updateQuery , values ... ) ; err != nil { return errors . Wrap ( err , " " ) } rel . PollID = o . ParentPollID } } if o . R == nil { o . R = & pollR { PollsFactorsPositions : related , } } else { o . R . PollsFactorsPositions = append ( o . R . PollsFactorsPositions , related ... ) } for _ , rel := range related { if rel . R == nil { rel . R = & pollsFactorsPositionR { Poll : o , } } else { rel . R . Poll = o } } return nil }
AddPollsFactorsPositions adds the given related objects to the existing relationships
of the poll, optionally inserting them as new records.
AddPollsFactorsPositions adds the given related objects to the existing relationships of the poll optionally inserting them as new records .