ent

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsConstraintError

func IsConstraintError(err error) bool

IsConstraintError returns a boolean indicating whether the error is a constraint failure.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns a boolean indicating whether the error is a not found error.

func IsNotLoaded

func IsNotLoaded(err error) bool

IsNotLoaded returns a boolean indicating whether the error is a not loaded error.

func IsNotSingular

func IsNotSingular(err error) bool

IsNotSingular returns a boolean indicating whether the error is a not singular error.

func MaskNotFound

func MaskNotFound(err error) error

MaskNotFound masks nor found error.

func NewContext

func NewContext(parent context.Context, c *Client) context.Context

NewContext returns a new context with the given Client attached.

Types

type Aggregate

type Aggregate func(*sql.Selector) string

Aggregate applies an aggregation step on the group-by traversal/selector.

func As

func As(fn Aggregate, end string) Aggregate

As is a pseudo aggregation function for renaming another other functions with custom names. For example:

GroupBy(field1, field2).
Aggregate(ent.As(ent.Sum(field1), "sum_field1"), (ent.As(ent.Sum(field2), "sum_field2")).
Scan(ctx, &v)

func Count

func Count() Aggregate

Count applies the "count" aggregation function on each group.

func Max

func Max(field string) Aggregate

Max applies the "max" aggregation function on the given field of each group.

func Mean

func Mean(field string) Aggregate

Mean applies the "mean" aggregation function on the given field of each group.

func Min

func Min(field string) Aggregate

Min applies the "min" aggregation function on the given field of each group.

func Sum

func Sum(field string) Aggregate

Sum applies the "sum" aggregation function on the given field of each group.

type Blob

type Blob struct {

	// ID of the ent.
	ID uuid.UUID `json:"id,omitempty"`
	// UUID holds the value of the "uuid" field.
	UUID uuid.UUID `json:"uuid,omitempty"`
	// contains filtered or unexported fields
}

Blob is the model entity for the Blob schema.

Example
if dsn == "" {
	return
}
ctx := context.Background()
drv, err := sql.Open("mysql", dsn)
if err != nil {
	log.Fatalf("failed creating database client: %v", err)
}
defer drv.Close()
client := NewClient(Driver(drv))
// creating vertices for the blob's edges.

// create blob vertex with its edges.
b := client.Blob.
	Create().
	SetUUID(uuid.UUID{}).
	SaveX(ctx)
log.Println("blob created:", b)

// query edges.
Output:

func (*Blob) String

func (b *Blob) String() string

String implements the fmt.Stringer.

func (*Blob) Unwrap

func (b *Blob) Unwrap() *Blob

Unwrap unwraps the entity that was returned from a transaction after it was closed, so that all next queries will be executed through the driver which created the transaction.

func (*Blob) Update

func (b *Blob) Update() *BlobUpdateOne

Update returns a builder for updating this Blob. Note that, you need to call Blob.Unwrap() before calling this method, if this Blob was returned from a transaction, and the transaction was committed or rolled back.

type BlobClient

type BlobClient struct {
	// contains filtered or unexported fields
}

BlobClient is a client for the Blob schema.

func NewBlobClient

func NewBlobClient(c config) *BlobClient

NewBlobClient returns a client for the Blob from the given config.

func (*BlobClient) Create

func (c *BlobClient) Create() *BlobCreate

Create returns a create builder for Blob.

func (*BlobClient) Delete

func (c *BlobClient) Delete() *BlobDelete

Delete returns a delete builder for Blob.

func (*BlobClient) DeleteOne

func (c *BlobClient) DeleteOne(b *Blob) *BlobDeleteOne

DeleteOne returns a delete builder for the given entity.

func (*BlobClient) DeleteOneID

func (c *BlobClient) DeleteOneID(id uuid.UUID) *BlobDeleteOne

DeleteOneID returns a delete builder for the given id.

func (*BlobClient) Get

func (c *BlobClient) Get(ctx context.Context, id uuid.UUID) (*Blob, error)

Get returns a Blob entity by its id.

func (*BlobClient) GetX

func (c *BlobClient) GetX(ctx context.Context, id uuid.UUID) *Blob

GetX is like Get, but panics if an error occurs.

func (*BlobClient) Query

func (c *BlobClient) Query() *BlobQuery

Create returns a query builder for Blob.

func (*BlobClient) Update

func (c *BlobClient) Update() *BlobUpdate

Update returns an update builder for Blob.

func (*BlobClient) UpdateOne

func (c *BlobClient) UpdateOne(b *Blob) *BlobUpdateOne

UpdateOne returns an update builder for the given entity.

func (*BlobClient) UpdateOneID

func (c *BlobClient) UpdateOneID(id uuid.UUID) *BlobUpdateOne

UpdateOneID returns an update builder for the given id.

type BlobCreate

type BlobCreate struct {
	// contains filtered or unexported fields
}

BlobCreate is the builder for creating a Blob entity.

func (*BlobCreate) Save

func (bc *BlobCreate) Save(ctx context.Context) (*Blob, error)

Save creates the Blob in the database.

func (*BlobCreate) SaveX

func (bc *BlobCreate) SaveX(ctx context.Context) *Blob

SaveX calls Save and panics if Save returns an error.

func (*BlobCreate) SetID

func (bc *BlobCreate) SetID(u uuid.UUID) *BlobCreate

SetID sets the id field.

func (*BlobCreate) SetUUID

func (bc *BlobCreate) SetUUID(u uuid.UUID) *BlobCreate

SetUUID sets the uuid field.

type BlobDelete

type BlobDelete struct {
	// contains filtered or unexported fields
}

BlobDelete is the builder for deleting a Blob entity.

func (*BlobDelete) Exec

func (bd *BlobDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (*BlobDelete) ExecX

func (bd *BlobDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (*BlobDelete) Where

func (bd *BlobDelete) Where(ps ...predicate.Blob) *BlobDelete

Where adds a new predicate to the delete builder.

type BlobDeleteOne

type BlobDeleteOne struct {
	// contains filtered or unexported fields
}

BlobDeleteOne is the builder for deleting a single Blob entity.

func (*BlobDeleteOne) Exec

func (bdo *BlobDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (*BlobDeleteOne) ExecX

func (bdo *BlobDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

type BlobGroupBy

type BlobGroupBy struct {
	// contains filtered or unexported fields
}

BlobGroupBy is the builder for group-by Blob entities.

func (*BlobGroupBy) Aggregate

func (bgb *BlobGroupBy) Aggregate(fns ...Aggregate) *BlobGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (*BlobGroupBy) Bools

func (bgb *BlobGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from group-by. It is only allowed when querying group-by with one field.

func (*BlobGroupBy) BoolsX

func (bgb *BlobGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*BlobGroupBy) Float64s

func (bgb *BlobGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from group-by. It is only allowed when querying group-by with one field.

func (*BlobGroupBy) Float64sX

func (bgb *BlobGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*BlobGroupBy) Ints

func (bgb *BlobGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from group-by. It is only allowed when querying group-by with one field.

func (*BlobGroupBy) IntsX

func (bgb *BlobGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*BlobGroupBy) Scan

func (bgb *BlobGroupBy) Scan(ctx context.Context, v interface{}) error

Scan applies the group-by query and scan the result into the given value.

func (*BlobGroupBy) ScanX

func (bgb *BlobGroupBy) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*BlobGroupBy) Strings

func (bgb *BlobGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from group-by. It is only allowed when querying group-by with one field.

func (*BlobGroupBy) StringsX

func (bgb *BlobGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type BlobQuery

type BlobQuery struct {
	// contains filtered or unexported fields
}

BlobQuery is the builder for querying Blob entities.

func (*BlobQuery) All

func (bq *BlobQuery) All(ctx context.Context) ([]*Blob, error)

All executes the query and returns a list of Blobs.

func (*BlobQuery) AllX

func (bq *BlobQuery) AllX(ctx context.Context) []*Blob

AllX is like All, but panics if an error occurs.

func (*BlobQuery) Clone

func (bq *BlobQuery) Clone() *BlobQuery

Clone returns a duplicate of the query builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (*BlobQuery) Count

func (bq *BlobQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (*BlobQuery) CountX

func (bq *BlobQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (*BlobQuery) Exist

func (bq *BlobQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (*BlobQuery) ExistX

func (bq *BlobQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (*BlobQuery) First

func (bq *BlobQuery) First(ctx context.Context) (*Blob, error)

First returns the first Blob entity in the query. Returns *NotFoundError when no blob was found.

func (*BlobQuery) FirstID

func (bq *BlobQuery) FirstID(ctx context.Context) (id uuid.UUID, err error)

FirstID returns the first Blob id in the query. Returns *NotFoundError when no id was found.

func (*BlobQuery) FirstX

func (bq *BlobQuery) FirstX(ctx context.Context) *Blob

FirstX is like First, but panics if an error occurs.

func (*BlobQuery) FirstXID

func (bq *BlobQuery) FirstXID(ctx context.Context) uuid.UUID

FirstXID is like FirstID, but panics if an error occurs.

func (*BlobQuery) GroupBy

func (bq *BlobQuery) GroupBy(field string, fields ...string) *BlobGroupBy

GroupBy used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

Example:

var v []struct {
	UUID uuid.UUID `json:"uuid,omitempty"`
	Count int `json:"count,omitempty"`
}

client.Blob.Query().
	GroupBy(blob.FieldUUID).
	Aggregate(ent.Count()).
	Scan(ctx, &v)

func (*BlobQuery) IDs

func (bq *BlobQuery) IDs(ctx context.Context) ([]uuid.UUID, error)

IDs executes the query and returns a list of Blob ids.

func (*BlobQuery) IDsX

func (bq *BlobQuery) IDsX(ctx context.Context) []uuid.UUID

IDsX is like IDs, but panics if an error occurs.

func (*BlobQuery) Limit

func (bq *BlobQuery) Limit(limit int) *BlobQuery

Limit adds a limit step to the query.

func (*BlobQuery) Offset

func (bq *BlobQuery) Offset(offset int) *BlobQuery

Offset adds an offset step to the query.

func (*BlobQuery) Only

func (bq *BlobQuery) Only(ctx context.Context) (*Blob, error)

Only returns the only Blob entity in the query, returns an error if not exactly one entity was returned.

func (*BlobQuery) OnlyID

func (bq *BlobQuery) OnlyID(ctx context.Context) (id uuid.UUID, err error)

OnlyID returns the only Blob id in the query, returns an error if not exactly one id was returned.

func (*BlobQuery) OnlyX

func (bq *BlobQuery) OnlyX(ctx context.Context) *Blob

OnlyX is like Only, but panics if an error occurs.

func (*BlobQuery) OnlyXID

func (bq *BlobQuery) OnlyXID(ctx context.Context) uuid.UUID

OnlyXID is like OnlyID, but panics if an error occurs.

func (*BlobQuery) Order

func (bq *BlobQuery) Order(o ...Order) *BlobQuery

Order adds an order step to the query.

func (*BlobQuery) Select

func (bq *BlobQuery) Select(field string, fields ...string) *BlobSelect

Select one or more fields from the given query.

Example:

var v []struct {
	UUID uuid.UUID `json:"uuid,omitempty"`
}

client.Blob.Query().
	Select(blob.FieldUUID).
	Scan(ctx, &v)

func (*BlobQuery) Where

func (bq *BlobQuery) Where(ps ...predicate.Blob) *BlobQuery

Where adds a new predicate for the builder.

type BlobSelect

type BlobSelect struct {
	// contains filtered or unexported fields
}

BlobSelect is the builder for select fields of Blob entities.

func (*BlobSelect) Bools

func (bs *BlobSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from selector. It is only allowed when selecting one field.

func (*BlobSelect) BoolsX

func (bs *BlobSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*BlobSelect) Float64s

func (bs *BlobSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from selector. It is only allowed when selecting one field.

func (*BlobSelect) Float64sX

func (bs *BlobSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*BlobSelect) Ints

func (bs *BlobSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from selector. It is only allowed when selecting one field.

func (*BlobSelect) IntsX

func (bs *BlobSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*BlobSelect) Scan

func (bs *BlobSelect) Scan(ctx context.Context, v interface{}) error

Scan applies the selector query and scan the result into the given value.

func (*BlobSelect) ScanX

func (bs *BlobSelect) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*BlobSelect) Strings

func (bs *BlobSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from selector. It is only allowed when selecting one field.

func (*BlobSelect) StringsX

func (bs *BlobSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type BlobUpdate

type BlobUpdate struct {
	// contains filtered or unexported fields
}

BlobUpdate is the builder for updating Blob entities.

func (*BlobUpdate) Exec

func (bu *BlobUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (*BlobUpdate) ExecX

func (bu *BlobUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*BlobUpdate) Save

func (bu *BlobUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of rows/vertices matched by this operation.

func (*BlobUpdate) SaveX

func (bu *BlobUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (*BlobUpdate) SetUUID

func (bu *BlobUpdate) SetUUID(u uuid.UUID) *BlobUpdate

SetUUID sets the uuid field.

func (*BlobUpdate) Where

func (bu *BlobUpdate) Where(ps ...predicate.Blob) *BlobUpdate

Where adds a new predicate for the builder.

type BlobUpdateOne

type BlobUpdateOne struct {
	// contains filtered or unexported fields
}

BlobUpdateOne is the builder for updating a single Blob entity.

func (*BlobUpdateOne) Exec

func (buo *BlobUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (*BlobUpdateOne) ExecX

func (buo *BlobUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*BlobUpdateOne) Save

func (buo *BlobUpdateOne) Save(ctx context.Context) (*Blob, error)

Save executes the query and returns the updated entity.

func (*BlobUpdateOne) SaveX

func (buo *BlobUpdateOne) SaveX(ctx context.Context) *Blob

SaveX is like Save, but panics if an error occurs.

func (*BlobUpdateOne) SetUUID

func (buo *BlobUpdateOne) SetUUID(u uuid.UUID) *BlobUpdateOne

SetUUID sets the uuid field.

type Blobs

type Blobs []*Blob

Blobs is a parsable slice of Blob.

type Client

type Client struct {

	// Schema is the client for creating, migrating and dropping schema.
	Schema *migrate.Schema
	// Blob is the client for interacting with the Blob builders.
	Blob *BlobClient
	// Group is the client for interacting with the Group builders.
	Group *GroupClient
	// Pet is the client for interacting with the Pet builders.
	Pet *PetClient
	// User is the client for interacting with the User builders.
	User *UserClient
	// contains filtered or unexported fields
}

Client is the client that holds all ent builders.

func FromContext

func FromContext(ctx context.Context) *Client

FromContext returns the Client stored in a context, or nil if there isn't one.

func NewClient

func NewClient(opts ...Option) *Client

NewClient creates a new client configured with the given options.

func Open

func Open(driverName, dataSourceName string, options ...Option) (*Client, error)

Open opens a connection to the database specified by the driver name and a driver-specific data source name, and returns a new client attached to it. Optional parameters can be added for configuring the client.

func (*Client) Close

func (c *Client) Close() error

Close closes the database connection and prevents new queries from starting.

func (*Client) Debug

func (c *Client) Debug() *Client

Debug returns a new debug-client. It's used to get verbose logging on specific operations.

client.Debug().
	Blob.
	Query().
	Count(ctx)

func (*Client) Tx

func (c *Client) Tx(ctx context.Context) (*Tx, error)

Tx returns a new transactional client.

type ConstraintError

type ConstraintError struct {
	// contains filtered or unexported fields
}

ConstraintError returns when trying to create/update one or more entities and one or more of their constraints failed. For example, violation of edge or field uniqueness.

func (ConstraintError) Error

func (e ConstraintError) Error() string

Error implements the error interface.

func (*ConstraintError) Unwrap

func (e *ConstraintError) Unwrap() error

Unwrap implements the errors.Wrapper interface.

type Group

type Group struct {

	// ID of the ent.
	ID int `json:"oid,omitempty"`
	// Edges holds the relations/edges for other nodes in the graph.
	// The values are being populated by the GroupQuery when eager-loading is set.
	Edges GroupEdges `json:"edges"`
	// contains filtered or unexported fields
}

Group is the model entity for the Group schema.

Example
if dsn == "" {
	return
}
ctx := context.Background()
drv, err := sql.Open("mysql", dsn)
if err != nil {
	log.Fatalf("failed creating database client: %v", err)
}
defer drv.Close()
client := NewClient(Driver(drv))
// creating vertices for the group's edges.
u0 := client.User.
	Create().
	SaveX(ctx)
log.Println("user created:", u0)

// create group vertex with its edges.
gr := client.Group.
	Create().
	AddUsers(u0).
	SaveX(ctx)
log.Println("group created:", gr)

// query edges.
u0, err = gr.QueryUsers().First(ctx)
if err != nil {
	log.Fatalf("failed querying users: %v", err)
}
log.Println("users found:", u0)
Output:

func (*Group) QueryUsers

func (gr *Group) QueryUsers() *UserQuery

QueryUsers queries the users edge of the Group.

func (*Group) String

func (gr *Group) String() string

String implements the fmt.Stringer.

func (*Group) Unwrap

func (gr *Group) Unwrap() *Group

Unwrap unwraps the entity that was returned from a transaction after it was closed, so that all next queries will be executed through the driver which created the transaction.

func (*Group) Update

func (gr *Group) Update() *GroupUpdateOne

Update returns a builder for updating this Group. Note that, you need to call Group.Unwrap() before calling this method, if this Group was returned from a transaction, and the transaction was committed or rolled back.

type GroupClient

type GroupClient struct {
	// contains filtered or unexported fields
}

GroupClient is a client for the Group schema.

func NewGroupClient

func NewGroupClient(c config) *GroupClient

NewGroupClient returns a client for the Group from the given config.

func (*GroupClient) Create

func (c *GroupClient) Create() *GroupCreate

Create returns a create builder for Group.

func (*GroupClient) Delete

func (c *GroupClient) Delete() *GroupDelete

Delete returns a delete builder for Group.

func (*GroupClient) DeleteOne

func (c *GroupClient) DeleteOne(gr *Group) *GroupDeleteOne

DeleteOne returns a delete builder for the given entity.

func (*GroupClient) DeleteOneID

func (c *GroupClient) DeleteOneID(id int) *GroupDeleteOne

DeleteOneID returns a delete builder for the given id.

func (*GroupClient) Get

func (c *GroupClient) Get(ctx context.Context, id int) (*Group, error)

Get returns a Group entity by its id.

func (*GroupClient) GetX

func (c *GroupClient) GetX(ctx context.Context, id int) *Group

GetX is like Get, but panics if an error occurs.

func (*GroupClient) Query

func (c *GroupClient) Query() *GroupQuery

Create returns a query builder for Group.

func (*GroupClient) QueryUsers

func (c *GroupClient) QueryUsers(gr *Group) *UserQuery

QueryUsers queries the users edge of a Group.

func (*GroupClient) Update

func (c *GroupClient) Update() *GroupUpdate

Update returns an update builder for Group.

func (*GroupClient) UpdateOne

func (c *GroupClient) UpdateOne(gr *Group) *GroupUpdateOne

UpdateOne returns an update builder for the given entity.

func (*GroupClient) UpdateOneID

func (c *GroupClient) UpdateOneID(id int) *GroupUpdateOne

UpdateOneID returns an update builder for the given id.

type GroupCreate

type GroupCreate struct {
	// contains filtered or unexported fields
}

GroupCreate is the builder for creating a Group entity.

func (*GroupCreate) AddUserIDs

func (gc *GroupCreate) AddUserIDs(ids ...int) *GroupCreate

AddUserIDs adds the users edge to User by ids.

func (*GroupCreate) AddUsers

func (gc *GroupCreate) AddUsers(u ...*User) *GroupCreate

AddUsers adds the users edges to User.

func (*GroupCreate) Save

func (gc *GroupCreate) Save(ctx context.Context) (*Group, error)

Save creates the Group in the database.

func (*GroupCreate) SaveX

func (gc *GroupCreate) SaveX(ctx context.Context) *Group

SaveX calls Save and panics if Save returns an error.

func (*GroupCreate) SetID

func (gc *GroupCreate) SetID(i int) *GroupCreate

SetID sets the id field.

type GroupDelete

type GroupDelete struct {
	// contains filtered or unexported fields
}

GroupDelete is the builder for deleting a Group entity.

func (*GroupDelete) Exec

func (gd *GroupDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (*GroupDelete) ExecX

func (gd *GroupDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (*GroupDelete) Where

func (gd *GroupDelete) Where(ps ...predicate.Group) *GroupDelete

Where adds a new predicate to the delete builder.

type GroupDeleteOne

type GroupDeleteOne struct {
	// contains filtered or unexported fields
}

GroupDeleteOne is the builder for deleting a single Group entity.

func (*GroupDeleteOne) Exec

func (gdo *GroupDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (*GroupDeleteOne) ExecX

func (gdo *GroupDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

type GroupEdges

type GroupEdges struct {
	// Users holds the value of the users edge.
	Users []*User
	// contains filtered or unexported fields
}

GroupEdges holds the relations/edges for other nodes in the graph.

func (GroupEdges) UsersOrErr

func (e GroupEdges) UsersOrErr() ([]*User, error)

UsersOrErr returns the Users value or an error if the edge was not loaded in eager-loading.

type GroupGroupBy

type GroupGroupBy struct {
	// contains filtered or unexported fields
}

GroupGroupBy is the builder for group-by Group entities.

func (*GroupGroupBy) Aggregate

func (ggb *GroupGroupBy) Aggregate(fns ...Aggregate) *GroupGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (*GroupGroupBy) Bools

func (ggb *GroupGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from group-by. It is only allowed when querying group-by with one field.

func (*GroupGroupBy) BoolsX

func (ggb *GroupGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*GroupGroupBy) Float64s

func (ggb *GroupGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from group-by. It is only allowed when querying group-by with one field.

func (*GroupGroupBy) Float64sX

func (ggb *GroupGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*GroupGroupBy) Ints

func (ggb *GroupGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from group-by. It is only allowed when querying group-by with one field.

func (*GroupGroupBy) IntsX

func (ggb *GroupGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*GroupGroupBy) Scan

func (ggb *GroupGroupBy) Scan(ctx context.Context, v interface{}) error

Scan applies the group-by query and scan the result into the given value.

func (*GroupGroupBy) ScanX

func (ggb *GroupGroupBy) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*GroupGroupBy) Strings

func (ggb *GroupGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from group-by. It is only allowed when querying group-by with one field.

func (*GroupGroupBy) StringsX

func (ggb *GroupGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type GroupQuery

type GroupQuery struct {
	// contains filtered or unexported fields
}

GroupQuery is the builder for querying Group entities.

func (*GroupQuery) All

func (gq *GroupQuery) All(ctx context.Context) ([]*Group, error)

All executes the query and returns a list of Groups.

func (*GroupQuery) AllX

func (gq *GroupQuery) AllX(ctx context.Context) []*Group

AllX is like All, but panics if an error occurs.

func (*GroupQuery) Clone

func (gq *GroupQuery) Clone() *GroupQuery

Clone returns a duplicate of the query builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (*GroupQuery) Count

func (gq *GroupQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (*GroupQuery) CountX

func (gq *GroupQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (*GroupQuery) Exist

func (gq *GroupQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (*GroupQuery) ExistX

func (gq *GroupQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (*GroupQuery) First

func (gq *GroupQuery) First(ctx context.Context) (*Group, error)

First returns the first Group entity in the query. Returns *NotFoundError when no group was found.

func (*GroupQuery) FirstID

func (gq *GroupQuery) FirstID(ctx context.Context) (id int, err error)

FirstID returns the first Group id in the query. Returns *NotFoundError when no id was found.

func (*GroupQuery) FirstX

func (gq *GroupQuery) FirstX(ctx context.Context) *Group

FirstX is like First, but panics if an error occurs.

func (*GroupQuery) FirstXID

func (gq *GroupQuery) FirstXID(ctx context.Context) int

FirstXID is like FirstID, but panics if an error occurs.

func (*GroupQuery) GroupBy

func (gq *GroupQuery) GroupBy(field string, fields ...string) *GroupGroupBy

GroupBy used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

func (*GroupQuery) IDs

func (gq *GroupQuery) IDs(ctx context.Context) ([]int, error)

IDs executes the query and returns a list of Group ids.

func (*GroupQuery) IDsX

func (gq *GroupQuery) IDsX(ctx context.Context) []int

IDsX is like IDs, but panics if an error occurs.

func (*GroupQuery) Limit

func (gq *GroupQuery) Limit(limit int) *GroupQuery

Limit adds a limit step to the query.

func (*GroupQuery) Offset

func (gq *GroupQuery) Offset(offset int) *GroupQuery

Offset adds an offset step to the query.

func (*GroupQuery) Only

func (gq *GroupQuery) Only(ctx context.Context) (*Group, error)

Only returns the only Group entity in the query, returns an error if not exactly one entity was returned.

func (*GroupQuery) OnlyID

func (gq *GroupQuery) OnlyID(ctx context.Context) (id int, err error)

OnlyID returns the only Group id in the query, returns an error if not exactly one id was returned.

func (*GroupQuery) OnlyX

func (gq *GroupQuery) OnlyX(ctx context.Context) *Group

OnlyX is like Only, but panics if an error occurs.

func (*GroupQuery) OnlyXID

func (gq *GroupQuery) OnlyXID(ctx context.Context) int

OnlyXID is like OnlyID, but panics if an error occurs.

func (*GroupQuery) Order

func (gq *GroupQuery) Order(o ...Order) *GroupQuery

Order adds an order step to the query.

func (*GroupQuery) QueryUsers

func (gq *GroupQuery) QueryUsers() *UserQuery

QueryUsers chains the current query on the users edge.

func (*GroupQuery) Select

func (gq *GroupQuery) Select(field string, fields ...string) *GroupSelect

Select one or more fields from the given query.

func (*GroupQuery) Where

func (gq *GroupQuery) Where(ps ...predicate.Group) *GroupQuery

Where adds a new predicate for the builder.

func (*GroupQuery) WithUsers

func (gq *GroupQuery) WithUsers(opts ...func(*UserQuery)) *GroupQuery
WithUsers tells the query-builder to eager-loads the nodes that are connected to

the "users" edge. The optional arguments used to configure the query builder of the edge.

type GroupSelect

type GroupSelect struct {
	// contains filtered or unexported fields
}

GroupSelect is the builder for select fields of Group entities.

func (*GroupSelect) Bools

func (gs *GroupSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from selector. It is only allowed when selecting one field.

func (*GroupSelect) BoolsX

func (gs *GroupSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*GroupSelect) Float64s

func (gs *GroupSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from selector. It is only allowed when selecting one field.

func (*GroupSelect) Float64sX

func (gs *GroupSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*GroupSelect) Ints

func (gs *GroupSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from selector. It is only allowed when selecting one field.

func (*GroupSelect) IntsX

func (gs *GroupSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*GroupSelect) Scan

func (gs *GroupSelect) Scan(ctx context.Context, v interface{}) error

Scan applies the selector query and scan the result into the given value.

func (*GroupSelect) ScanX

func (gs *GroupSelect) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*GroupSelect) Strings

func (gs *GroupSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from selector. It is only allowed when selecting one field.

func (*GroupSelect) StringsX

func (gs *GroupSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type GroupUpdate

type GroupUpdate struct {
	// contains filtered or unexported fields
}

GroupUpdate is the builder for updating Group entities.

func (*GroupUpdate) AddUserIDs

func (gu *GroupUpdate) AddUserIDs(ids ...int) *GroupUpdate

AddUserIDs adds the users edge to User by ids.

func (*GroupUpdate) AddUsers

func (gu *GroupUpdate) AddUsers(u ...*User) *GroupUpdate

AddUsers adds the users edges to User.

func (*GroupUpdate) Exec

func (gu *GroupUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (*GroupUpdate) ExecX

func (gu *GroupUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*GroupUpdate) RemoveUserIDs

func (gu *GroupUpdate) RemoveUserIDs(ids ...int) *GroupUpdate

RemoveUserIDs removes the users edge to User by ids.

func (*GroupUpdate) RemoveUsers

func (gu *GroupUpdate) RemoveUsers(u ...*User) *GroupUpdate

RemoveUsers removes users edges to User.

func (*GroupUpdate) Save

func (gu *GroupUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of rows/vertices matched by this operation.

func (*GroupUpdate) SaveX

func (gu *GroupUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (*GroupUpdate) Where

func (gu *GroupUpdate) Where(ps ...predicate.Group) *GroupUpdate

Where adds a new predicate for the builder.

type GroupUpdateOne

type GroupUpdateOne struct {
	// contains filtered or unexported fields
}

GroupUpdateOne is the builder for updating a single Group entity.

func (*GroupUpdateOne) AddUserIDs

func (guo *GroupUpdateOne) AddUserIDs(ids ...int) *GroupUpdateOne

AddUserIDs adds the users edge to User by ids.

func (*GroupUpdateOne) AddUsers

func (guo *GroupUpdateOne) AddUsers(u ...*User) *GroupUpdateOne

AddUsers adds the users edges to User.

func (*GroupUpdateOne) Exec

func (guo *GroupUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (*GroupUpdateOne) ExecX

func (guo *GroupUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*GroupUpdateOne) RemoveUserIDs

func (guo *GroupUpdateOne) RemoveUserIDs(ids ...int) *GroupUpdateOne

RemoveUserIDs removes the users edge to User by ids.

func (*GroupUpdateOne) RemoveUsers

func (guo *GroupUpdateOne) RemoveUsers(u ...*User) *GroupUpdateOne

RemoveUsers removes users edges to User.

func (*GroupUpdateOne) Save

func (guo *GroupUpdateOne) Save(ctx context.Context) (*Group, error)

Save executes the query and returns the updated entity.

func (*GroupUpdateOne) SaveX

func (guo *GroupUpdateOne) SaveX(ctx context.Context) *Group

SaveX is like Save, but panics if an error occurs.

type Groups

type Groups []*Group

Groups is a parsable slice of Group.

type NotFoundError

type NotFoundError struct {
	// contains filtered or unexported fields
}

NotFoundError returns when trying to fetch a specific entity and it was not found in the database.

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

Error implements the error interface.

type NotLoadedError

type NotLoadedError struct {
	// contains filtered or unexported fields
}

NotLoadedError returns when trying to get a node that was not loaded by the query.

func (*NotLoadedError) Error

func (e *NotLoadedError) Error() string

Error implements the error interface.

type NotSingularError

type NotSingularError struct {
	// contains filtered or unexported fields
}

NotSingularError returns when trying to fetch a singular entity and more then one was found in the database.

func (*NotSingularError) Error

func (e *NotSingularError) Error() string

Error implements the error interface.

type Option

type Option func(*config)

Option function to configure the client.

func Debug

func Debug() Option

Debug enables debug logging on the ent.Driver.

func Driver

func Driver(driver dialect.Driver) Option

Driver configures the client driver.

func Log

func Log(fn func(...interface{})) Option

Log sets the logging function for debug mode.

type Order

type Order func(*sql.Selector)

Order applies an ordering on either graph traversal or sql selector.

func Asc

func Asc(fields ...string) Order

Asc applies the given fields in ASC order.

func Desc

func Desc(fields ...string) Order

Desc applies the given fields in DESC order.

type Pet added in v0.1.2

type Pet struct {

	// ID of the ent.
	ID string `json:"id,omitempty"`
	// Edges holds the relations/edges for other nodes in the graph.
	// The values are being populated by the PetQuery when eager-loading is set.
	Edges PetEdges `json:"edges"`
	// contains filtered or unexported fields
}

Pet is the model entity for the Pet schema.

Example
if dsn == "" {
	return
}
ctx := context.Background()
drv, err := sql.Open("mysql", dsn)
if err != nil {
	log.Fatalf("failed creating database client: %v", err)
}
defer drv.Close()
client := NewClient(Driver(drv))
// creating vertices for the pet's edges.

// create pet vertex with its edges.
pe := client.Pet.
	Create().
	SaveX(ctx)
log.Println("pet created:", pe)

// query edges.
Output:

func (*Pet) QueryOwner added in v0.1.2

func (pe *Pet) QueryOwner() *UserQuery

QueryOwner queries the owner edge of the Pet.

func (*Pet) String added in v0.1.2

func (pe *Pet) String() string

String implements the fmt.Stringer.

func (*Pet) Unwrap added in v0.1.2

func (pe *Pet) Unwrap() *Pet

Unwrap unwraps the entity that was returned from a transaction after it was closed, so that all next queries will be executed through the driver which created the transaction.

func (*Pet) Update added in v0.1.2

func (pe *Pet) Update() *PetUpdateOne

Update returns a builder for updating this Pet. Note that, you need to call Pet.Unwrap() before calling this method, if this Pet was returned from a transaction, and the transaction was committed or rolled back.

type PetClient added in v0.1.2

type PetClient struct {
	// contains filtered or unexported fields
}

PetClient is a client for the Pet schema.

func NewPetClient added in v0.1.2

func NewPetClient(c config) *PetClient

NewPetClient returns a client for the Pet from the given config.

func (*PetClient) Create added in v0.1.2

func (c *PetClient) Create() *PetCreate

Create returns a create builder for Pet.

func (*PetClient) Delete added in v0.1.2

func (c *PetClient) Delete() *PetDelete

Delete returns a delete builder for Pet.

func (*PetClient) DeleteOne added in v0.1.2

func (c *PetClient) DeleteOne(pe *Pet) *PetDeleteOne

DeleteOne returns a delete builder for the given entity.

func (*PetClient) DeleteOneID added in v0.1.2

func (c *PetClient) DeleteOneID(id string) *PetDeleteOne

DeleteOneID returns a delete builder for the given id.

func (*PetClient) Get added in v0.1.2

func (c *PetClient) Get(ctx context.Context, id string) (*Pet, error)

Get returns a Pet entity by its id.

func (*PetClient) GetX added in v0.1.2

func (c *PetClient) GetX(ctx context.Context, id string) *Pet

GetX is like Get, but panics if an error occurs.

func (*PetClient) Query added in v0.1.2

func (c *PetClient) Query() *PetQuery

Create returns a query builder for Pet.

func (*PetClient) QueryOwner added in v0.1.2

func (c *PetClient) QueryOwner(pe *Pet) *UserQuery

QueryOwner queries the owner edge of a Pet.

func (*PetClient) Update added in v0.1.2

func (c *PetClient) Update() *PetUpdate

Update returns an update builder for Pet.

func (*PetClient) UpdateOne added in v0.1.2

func (c *PetClient) UpdateOne(pe *Pet) *PetUpdateOne

UpdateOne returns an update builder for the given entity.

func (*PetClient) UpdateOneID added in v0.1.2

func (c *PetClient) UpdateOneID(id string) *PetUpdateOne

UpdateOneID returns an update builder for the given id.

type PetCreate added in v0.1.2

type PetCreate struct {
	// contains filtered or unexported fields
}

PetCreate is the builder for creating a Pet entity.

func (*PetCreate) Save added in v0.1.2

func (pc *PetCreate) Save(ctx context.Context) (*Pet, error)

Save creates the Pet in the database.

func (*PetCreate) SaveX added in v0.1.2

func (pc *PetCreate) SaveX(ctx context.Context) *Pet

SaveX calls Save and panics if Save returns an error.

func (*PetCreate) SetID added in v0.1.2

func (pc *PetCreate) SetID(s string) *PetCreate

SetID sets the id field.

func (*PetCreate) SetNillableOwnerID added in v0.1.2

func (pc *PetCreate) SetNillableOwnerID(id *int) *PetCreate

SetNillableOwnerID sets the owner edge to User by id if the given value is not nil.

func (*PetCreate) SetOwner added in v0.1.2

func (pc *PetCreate) SetOwner(u *User) *PetCreate

SetOwner sets the owner edge to User.

func (*PetCreate) SetOwnerID added in v0.1.2

func (pc *PetCreate) SetOwnerID(id int) *PetCreate

SetOwnerID sets the owner edge to User by id.

type PetDelete added in v0.1.2

type PetDelete struct {
	// contains filtered or unexported fields
}

PetDelete is the builder for deleting a Pet entity.

func (*PetDelete) Exec added in v0.1.2

func (pd *PetDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (*PetDelete) ExecX added in v0.1.2

func (pd *PetDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (*PetDelete) Where added in v0.1.2

func (pd *PetDelete) Where(ps ...predicate.Pet) *PetDelete

Where adds a new predicate to the delete builder.

type PetDeleteOne added in v0.1.2

type PetDeleteOne struct {
	// contains filtered or unexported fields
}

PetDeleteOne is the builder for deleting a single Pet entity.

func (*PetDeleteOne) Exec added in v0.1.2

func (pdo *PetDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (*PetDeleteOne) ExecX added in v0.1.2

func (pdo *PetDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

type PetEdges added in v0.1.2

type PetEdges struct {
	// Owner holds the value of the owner edge.
	Owner *User
	// contains filtered or unexported fields
}

PetEdges holds the relations/edges for other nodes in the graph.

func (PetEdges) OwnerOrErr added in v0.1.2

func (e PetEdges) OwnerOrErr() (*User, error)

OwnerOrErr returns the Owner value or an error if the edge was not loaded in eager-loading, or loaded but was not found.

type PetGroupBy added in v0.1.2

type PetGroupBy struct {
	// contains filtered or unexported fields
}

PetGroupBy is the builder for group-by Pet entities.

func (*PetGroupBy) Aggregate added in v0.1.2

func (pgb *PetGroupBy) Aggregate(fns ...Aggregate) *PetGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (*PetGroupBy) Bools added in v0.1.2

func (pgb *PetGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from group-by. It is only allowed when querying group-by with one field.

func (*PetGroupBy) BoolsX added in v0.1.2

func (pgb *PetGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*PetGroupBy) Float64s added in v0.1.2

func (pgb *PetGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from group-by. It is only allowed when querying group-by with one field.

func (*PetGroupBy) Float64sX added in v0.1.2

func (pgb *PetGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*PetGroupBy) Ints added in v0.1.2

func (pgb *PetGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from group-by. It is only allowed when querying group-by with one field.

func (*PetGroupBy) IntsX added in v0.1.2

func (pgb *PetGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*PetGroupBy) Scan added in v0.1.2

func (pgb *PetGroupBy) Scan(ctx context.Context, v interface{}) error

Scan applies the group-by query and scan the result into the given value.

func (*PetGroupBy) ScanX added in v0.1.2

func (pgb *PetGroupBy) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*PetGroupBy) Strings added in v0.1.2

func (pgb *PetGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from group-by. It is only allowed when querying group-by with one field.

func (*PetGroupBy) StringsX added in v0.1.2

func (pgb *PetGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type PetQuery added in v0.1.2

type PetQuery struct {
	// contains filtered or unexported fields
}

PetQuery is the builder for querying Pet entities.

func (*PetQuery) All added in v0.1.2

func (pq *PetQuery) All(ctx context.Context) ([]*Pet, error)

All executes the query and returns a list of Pets.

func (*PetQuery) AllX added in v0.1.2

func (pq *PetQuery) AllX(ctx context.Context) []*Pet

AllX is like All, but panics if an error occurs.

func (*PetQuery) Clone added in v0.1.2

func (pq *PetQuery) Clone() *PetQuery

Clone returns a duplicate of the query builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (*PetQuery) Count added in v0.1.2

func (pq *PetQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (*PetQuery) CountX added in v0.1.2

func (pq *PetQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (*PetQuery) Exist added in v0.1.2

func (pq *PetQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (*PetQuery) ExistX added in v0.1.2

func (pq *PetQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (*PetQuery) First added in v0.1.2

func (pq *PetQuery) First(ctx context.Context) (*Pet, error)

First returns the first Pet entity in the query. Returns *NotFoundError when no pet was found.

func (*PetQuery) FirstID added in v0.1.2

func (pq *PetQuery) FirstID(ctx context.Context) (id string, err error)

FirstID returns the first Pet id in the query. Returns *NotFoundError when no id was found.

func (*PetQuery) FirstX added in v0.1.2

func (pq *PetQuery) FirstX(ctx context.Context) *Pet

FirstX is like First, but panics if an error occurs.

func (*PetQuery) FirstXID added in v0.1.2

func (pq *PetQuery) FirstXID(ctx context.Context) string

FirstXID is like FirstID, but panics if an error occurs.

func (*PetQuery) GroupBy added in v0.1.2

func (pq *PetQuery) GroupBy(field string, fields ...string) *PetGroupBy

GroupBy used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

func (*PetQuery) IDs added in v0.1.2

func (pq *PetQuery) IDs(ctx context.Context) ([]string, error)

IDs executes the query and returns a list of Pet ids.

func (*PetQuery) IDsX added in v0.1.2

func (pq *PetQuery) IDsX(ctx context.Context) []string

IDsX is like IDs, but panics if an error occurs.

func (*PetQuery) Limit added in v0.1.2

func (pq *PetQuery) Limit(limit int) *PetQuery

Limit adds a limit step to the query.

func (*PetQuery) Offset added in v0.1.2

func (pq *PetQuery) Offset(offset int) *PetQuery

Offset adds an offset step to the query.

func (*PetQuery) Only added in v0.1.2

func (pq *PetQuery) Only(ctx context.Context) (*Pet, error)

Only returns the only Pet entity in the query, returns an error if not exactly one entity was returned.

func (*PetQuery) OnlyID added in v0.1.2

func (pq *PetQuery) OnlyID(ctx context.Context) (id string, err error)

OnlyID returns the only Pet id in the query, returns an error if not exactly one id was returned.

func (*PetQuery) OnlyX added in v0.1.2

func (pq *PetQuery) OnlyX(ctx context.Context) *Pet

OnlyX is like Only, but panics if an error occurs.

func (*PetQuery) OnlyXID added in v0.1.2

func (pq *PetQuery) OnlyXID(ctx context.Context) string

OnlyXID is like OnlyID, but panics if an error occurs.

func (*PetQuery) Order added in v0.1.2

func (pq *PetQuery) Order(o ...Order) *PetQuery

Order adds an order step to the query.

func (*PetQuery) QueryOwner added in v0.1.2

func (pq *PetQuery) QueryOwner() *UserQuery

QueryOwner chains the current query on the owner edge.

func (*PetQuery) Select added in v0.1.2

func (pq *PetQuery) Select(field string, fields ...string) *PetSelect

Select one or more fields from the given query.

func (*PetQuery) Where added in v0.1.2

func (pq *PetQuery) Where(ps ...predicate.Pet) *PetQuery

Where adds a new predicate for the builder.

func (*PetQuery) WithOwner added in v0.1.2

func (pq *PetQuery) WithOwner(opts ...func(*UserQuery)) *PetQuery
WithOwner tells the query-builder to eager-loads the nodes that are connected to

the "owner" edge. The optional arguments used to configure the query builder of the edge.

type PetSelect added in v0.1.2

type PetSelect struct {
	// contains filtered or unexported fields
}

PetSelect is the builder for select fields of Pet entities.

func (*PetSelect) Bools added in v0.1.2

func (ps *PetSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from selector. It is only allowed when selecting one field.

func (*PetSelect) BoolsX added in v0.1.2

func (ps *PetSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*PetSelect) Float64s added in v0.1.2

func (ps *PetSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from selector. It is only allowed when selecting one field.

func (*PetSelect) Float64sX added in v0.1.2

func (ps *PetSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*PetSelect) Ints added in v0.1.2

func (ps *PetSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from selector. It is only allowed when selecting one field.

func (*PetSelect) IntsX added in v0.1.2

func (ps *PetSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*PetSelect) Scan added in v0.1.2

func (ps *PetSelect) Scan(ctx context.Context, v interface{}) error

Scan applies the selector query and scan the result into the given value.

func (*PetSelect) ScanX added in v0.1.2

func (ps *PetSelect) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*PetSelect) Strings added in v0.1.2

func (ps *PetSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from selector. It is only allowed when selecting one field.

func (*PetSelect) StringsX added in v0.1.2

func (ps *PetSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type PetUpdate added in v0.1.2

type PetUpdate struct {
	// contains filtered or unexported fields
}

PetUpdate is the builder for updating Pet entities.

func (*PetUpdate) ClearOwner added in v0.1.2

func (pu *PetUpdate) ClearOwner() *PetUpdate

ClearOwner clears the owner edge to User.

func (*PetUpdate) Exec added in v0.1.2

func (pu *PetUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (*PetUpdate) ExecX added in v0.1.2

func (pu *PetUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*PetUpdate) Save added in v0.1.2

func (pu *PetUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of rows/vertices matched by this operation.

func (*PetUpdate) SaveX added in v0.1.2

func (pu *PetUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (*PetUpdate) SetNillableOwnerID added in v0.1.2

func (pu *PetUpdate) SetNillableOwnerID(id *int) *PetUpdate

SetNillableOwnerID sets the owner edge to User by id if the given value is not nil.

func (*PetUpdate) SetOwner added in v0.1.2

func (pu *PetUpdate) SetOwner(u *User) *PetUpdate

SetOwner sets the owner edge to User.

func (*PetUpdate) SetOwnerID added in v0.1.2

func (pu *PetUpdate) SetOwnerID(id int) *PetUpdate

SetOwnerID sets the owner edge to User by id.

func (*PetUpdate) Where added in v0.1.2

func (pu *PetUpdate) Where(ps ...predicate.Pet) *PetUpdate

Where adds a new predicate for the builder.

type PetUpdateOne added in v0.1.2

type PetUpdateOne struct {
	// contains filtered or unexported fields
}

PetUpdateOne is the builder for updating a single Pet entity.

func (*PetUpdateOne) ClearOwner added in v0.1.2

func (puo *PetUpdateOne) ClearOwner() *PetUpdateOne

ClearOwner clears the owner edge to User.

func (*PetUpdateOne) Exec added in v0.1.2

func (puo *PetUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (*PetUpdateOne) ExecX added in v0.1.2

func (puo *PetUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*PetUpdateOne) Save added in v0.1.2

func (puo *PetUpdateOne) Save(ctx context.Context) (*Pet, error)

Save executes the query and returns the updated entity.

func (*PetUpdateOne) SaveX added in v0.1.2

func (puo *PetUpdateOne) SaveX(ctx context.Context) *Pet

SaveX is like Save, but panics if an error occurs.

func (*PetUpdateOne) SetNillableOwnerID added in v0.1.2

func (puo *PetUpdateOne) SetNillableOwnerID(id *int) *PetUpdateOne

SetNillableOwnerID sets the owner edge to User by id if the given value is not nil.

func (*PetUpdateOne) SetOwner added in v0.1.2

func (puo *PetUpdateOne) SetOwner(u *User) *PetUpdateOne

SetOwner sets the owner edge to User.

func (*PetUpdateOne) SetOwnerID added in v0.1.2

func (puo *PetUpdateOne) SetOwnerID(id int) *PetUpdateOne

SetOwnerID sets the owner edge to User by id.

type Pets added in v0.1.2

type Pets []*Pet

Pets is a parsable slice of Pet.

type Tx

type Tx struct {

	// Blob is the client for interacting with the Blob builders.
	Blob *BlobClient
	// Group is the client for interacting with the Group builders.
	Group *GroupClient
	// Pet is the client for interacting with the Pet builders.
	Pet *PetClient
	// User is the client for interacting with the User builders.
	User *UserClient
	// contains filtered or unexported fields
}

Tx is a transactional client that is created by calling Client.Tx().

func (*Tx) Client

func (tx *Tx) Client() *Client

Client returns a Client that binds to current transaction.

func (*Tx) Commit

func (tx *Tx) Commit() error

Commit commits the transaction.

func (*Tx) Rollback

func (tx *Tx) Rollback() error

Rollback rollbacks the transaction.

type User

type User struct {

	// ID of the ent.
	ID int `json:"id,omitempty"`
	// Edges holds the relations/edges for other nodes in the graph.
	// The values are being populated by the UserQuery when eager-loading is set.
	Edges UserEdges `json:"edges"`
	// contains filtered or unexported fields
}

User is the model entity for the User schema.

Example
if dsn == "" {
	return
}
ctx := context.Background()
drv, err := sql.Open("mysql", dsn)
if err != nil {
	log.Fatalf("failed creating database client: %v", err)
}
defer drv.Close()
client := NewClient(Driver(drv))
// creating vertices for the user's edges.
u2 := client.User.
	Create().
	SaveX(ctx)
log.Println("user created:", u2)
pe3 := client.Pet.
	Create().
	SaveX(ctx)
log.Println("pet created:", pe3)

// create user vertex with its edges.
u := client.User.
	Create().
	AddChildren(u2).
	AddPets(pe3).
	SaveX(ctx)
log.Println("user created:", u)

// query edges.

u2, err = u.QueryChildren().First(ctx)
if err != nil {
	log.Fatalf("failed querying children: %v", err)
}
log.Println("children found:", u2)

pe3, err = u.QueryPets().First(ctx)
if err != nil {
	log.Fatalf("failed querying pets: %v", err)
}
log.Println("pets found:", pe3)
Output:

func (*User) QueryChildren

func (u *User) QueryChildren() *UserQuery

QueryChildren queries the children edge of the User.

func (*User) QueryGroups

func (u *User) QueryGroups() *GroupQuery

QueryGroups queries the groups edge of the User.

func (*User) QueryParent

func (u *User) QueryParent() *UserQuery

QueryParent queries the parent edge of the User.

func (*User) QueryPets added in v0.1.2

func (u *User) QueryPets() *PetQuery

QueryPets queries the pets edge of the User.

func (*User) String

func (u *User) String() string

String implements the fmt.Stringer.

func (*User) Unwrap

func (u *User) Unwrap() *User

Unwrap unwraps the entity that was returned from a transaction after it was closed, so that all next queries will be executed through the driver which created the transaction.

func (*User) Update

func (u *User) Update() *UserUpdateOne

Update returns a builder for updating this User. Note that, you need to call User.Unwrap() before calling this method, if this User was returned from a transaction, and the transaction was committed or rolled back.

type UserClient

type UserClient struct {
	// contains filtered or unexported fields
}

UserClient is a client for the User schema.

func NewUserClient

func NewUserClient(c config) *UserClient

NewUserClient returns a client for the User from the given config.

func (*UserClient) Create

func (c *UserClient) Create() *UserCreate

Create returns a create builder for User.

func (*UserClient) Delete

func (c *UserClient) Delete() *UserDelete

Delete returns a delete builder for User.

func (*UserClient) DeleteOne

func (c *UserClient) DeleteOne(u *User) *UserDeleteOne

DeleteOne returns a delete builder for the given entity.

func (*UserClient) DeleteOneID

func (c *UserClient) DeleteOneID(id int) *UserDeleteOne

DeleteOneID returns a delete builder for the given id.

func (*UserClient) Get

func (c *UserClient) Get(ctx context.Context, id int) (*User, error)

Get returns a User entity by its id.

func (*UserClient) GetX

func (c *UserClient) GetX(ctx context.Context, id int) *User

GetX is like Get, but panics if an error occurs.

func (*UserClient) Query

func (c *UserClient) Query() *UserQuery

Create returns a query builder for User.

func (*UserClient) QueryChildren

func (c *UserClient) QueryChildren(u *User) *UserQuery

QueryChildren queries the children edge of a User.

func (*UserClient) QueryGroups

func (c *UserClient) QueryGroups(u *User) *GroupQuery

QueryGroups queries the groups edge of a User.

func (*UserClient) QueryParent

func (c *UserClient) QueryParent(u *User) *UserQuery

QueryParent queries the parent edge of a User.

func (*UserClient) QueryPets added in v0.1.2

func (c *UserClient) QueryPets(u *User) *PetQuery

QueryPets queries the pets edge of a User.

func (*UserClient) Update

func (c *UserClient) Update() *UserUpdate

Update returns an update builder for User.

func (*UserClient) UpdateOne

func (c *UserClient) UpdateOne(u *User) *UserUpdateOne

UpdateOne returns an update builder for the given entity.

func (*UserClient) UpdateOneID

func (c *UserClient) UpdateOneID(id int) *UserUpdateOne

UpdateOneID returns an update builder for the given id.

type UserCreate

type UserCreate struct {
	// contains filtered or unexported fields
}

UserCreate is the builder for creating a User entity.

func (*UserCreate) AddChildIDs

func (uc *UserCreate) AddChildIDs(ids ...int) *UserCreate

AddChildIDs adds the children edge to User by ids.

func (*UserCreate) AddChildren

func (uc *UserCreate) AddChildren(u ...*User) *UserCreate

AddChildren adds the children edges to User.

func (*UserCreate) AddGroupIDs

func (uc *UserCreate) AddGroupIDs(ids ...int) *UserCreate

AddGroupIDs adds the groups edge to Group by ids.

func (*UserCreate) AddGroups

func (uc *UserCreate) AddGroups(g ...*Group) *UserCreate

AddGroups adds the groups edges to Group.

func (*UserCreate) AddPetIDs added in v0.1.2

func (uc *UserCreate) AddPetIDs(ids ...string) *UserCreate

AddPetIDs adds the pets edge to Pet by ids.

func (*UserCreate) AddPets added in v0.1.2

func (uc *UserCreate) AddPets(p ...*Pet) *UserCreate

AddPets adds the pets edges to Pet.

func (*UserCreate) Save

func (uc *UserCreate) Save(ctx context.Context) (*User, error)

Save creates the User in the database.

func (*UserCreate) SaveX

func (uc *UserCreate) SaveX(ctx context.Context) *User

SaveX calls Save and panics if Save returns an error.

func (*UserCreate) SetID

func (uc *UserCreate) SetID(i int) *UserCreate

SetID sets the id field.

func (*UserCreate) SetNillableParentID

func (uc *UserCreate) SetNillableParentID(id *int) *UserCreate

SetNillableParentID sets the parent edge to User by id if the given value is not nil.

func (*UserCreate) SetParent

func (uc *UserCreate) SetParent(u *User) *UserCreate

SetParent sets the parent edge to User.

func (*UserCreate) SetParentID

func (uc *UserCreate) SetParentID(id int) *UserCreate

SetParentID sets the parent edge to User by id.

type UserDelete

type UserDelete struct {
	// contains filtered or unexported fields
}

UserDelete is the builder for deleting a User entity.

func (*UserDelete) Exec

func (ud *UserDelete) Exec(ctx context.Context) (int, error)

Exec executes the deletion query and returns how many vertices were deleted.

func (*UserDelete) ExecX

func (ud *UserDelete) ExecX(ctx context.Context) int

ExecX is like Exec, but panics if an error occurs.

func (*UserDelete) Where

func (ud *UserDelete) Where(ps ...predicate.User) *UserDelete

Where adds a new predicate to the delete builder.

type UserDeleteOne

type UserDeleteOne struct {
	// contains filtered or unexported fields
}

UserDeleteOne is the builder for deleting a single User entity.

func (*UserDeleteOne) Exec

func (udo *UserDeleteOne) Exec(ctx context.Context) error

Exec executes the deletion query.

func (*UserDeleteOne) ExecX

func (udo *UserDeleteOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

type UserEdges

type UserEdges struct {
	// Groups holds the value of the groups edge.
	Groups []*Group
	// Parent holds the value of the parent edge.
	Parent *User
	// Children holds the value of the children edge.
	Children []*User
	// Pets holds the value of the pets edge.
	Pets []*Pet
	// contains filtered or unexported fields
}

UserEdges holds the relations/edges for other nodes in the graph.

func (UserEdges) ChildrenOrErr

func (e UserEdges) ChildrenOrErr() ([]*User, error)

ChildrenOrErr returns the Children value or an error if the edge was not loaded in eager-loading.

func (UserEdges) GroupsOrErr

func (e UserEdges) GroupsOrErr() ([]*Group, error)

GroupsOrErr returns the Groups value or an error if the edge was not loaded in eager-loading.

func (UserEdges) ParentOrErr

func (e UserEdges) ParentOrErr() (*User, error)

ParentOrErr returns the Parent value or an error if the edge was not loaded in eager-loading, or loaded but was not found.

func (UserEdges) PetsOrErr added in v0.1.2

func (e UserEdges) PetsOrErr() ([]*Pet, error)

PetsOrErr returns the Pets value or an error if the edge was not loaded in eager-loading.

type UserGroupBy

type UserGroupBy struct {
	// contains filtered or unexported fields
}

UserGroupBy is the builder for group-by User entities.

func (*UserGroupBy) Aggregate

func (ugb *UserGroupBy) Aggregate(fns ...Aggregate) *UserGroupBy

Aggregate adds the given aggregation functions to the group-by query.

func (*UserGroupBy) Bools

func (ugb *UserGroupBy) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from group-by. It is only allowed when querying group-by with one field.

func (*UserGroupBy) BoolsX

func (ugb *UserGroupBy) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*UserGroupBy) Float64s

func (ugb *UserGroupBy) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from group-by. It is only allowed when querying group-by with one field.

func (*UserGroupBy) Float64sX

func (ugb *UserGroupBy) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*UserGroupBy) Ints

func (ugb *UserGroupBy) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from group-by. It is only allowed when querying group-by with one field.

func (*UserGroupBy) IntsX

func (ugb *UserGroupBy) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*UserGroupBy) Scan

func (ugb *UserGroupBy) Scan(ctx context.Context, v interface{}) error

Scan applies the group-by query and scan the result into the given value.

func (*UserGroupBy) ScanX

func (ugb *UserGroupBy) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*UserGroupBy) Strings

func (ugb *UserGroupBy) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from group-by. It is only allowed when querying group-by with one field.

func (*UserGroupBy) StringsX

func (ugb *UserGroupBy) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type UserQuery

type UserQuery struct {
	// contains filtered or unexported fields
}

UserQuery is the builder for querying User entities.

func (*UserQuery) All

func (uq *UserQuery) All(ctx context.Context) ([]*User, error)

All executes the query and returns a list of Users.

func (*UserQuery) AllX

func (uq *UserQuery) AllX(ctx context.Context) []*User

AllX is like All, but panics if an error occurs.

func (*UserQuery) Clone

func (uq *UserQuery) Clone() *UserQuery

Clone returns a duplicate of the query builder, including all associated steps. It can be used to prepare common query builders and use them differently after the clone is made.

func (*UserQuery) Count

func (uq *UserQuery) Count(ctx context.Context) (int, error)

Count returns the count of the given query.

func (*UserQuery) CountX

func (uq *UserQuery) CountX(ctx context.Context) int

CountX is like Count, but panics if an error occurs.

func (*UserQuery) Exist

func (uq *UserQuery) Exist(ctx context.Context) (bool, error)

Exist returns true if the query has elements in the graph.

func (*UserQuery) ExistX

func (uq *UserQuery) ExistX(ctx context.Context) bool

ExistX is like Exist, but panics if an error occurs.

func (*UserQuery) First

func (uq *UserQuery) First(ctx context.Context) (*User, error)

First returns the first User entity in the query. Returns *NotFoundError when no user was found.

func (*UserQuery) FirstID

func (uq *UserQuery) FirstID(ctx context.Context) (id int, err error)

FirstID returns the first User id in the query. Returns *NotFoundError when no id was found.

func (*UserQuery) FirstX

func (uq *UserQuery) FirstX(ctx context.Context) *User

FirstX is like First, but panics if an error occurs.

func (*UserQuery) FirstXID

func (uq *UserQuery) FirstXID(ctx context.Context) int

FirstXID is like FirstID, but panics if an error occurs.

func (*UserQuery) GroupBy

func (uq *UserQuery) GroupBy(field string, fields ...string) *UserGroupBy

GroupBy used to group vertices by one or more fields/columns. It is often used with aggregate functions, like: count, max, mean, min, sum.

func (*UserQuery) IDs

func (uq *UserQuery) IDs(ctx context.Context) ([]int, error)

IDs executes the query and returns a list of User ids.

func (*UserQuery) IDsX

func (uq *UserQuery) IDsX(ctx context.Context) []int

IDsX is like IDs, but panics if an error occurs.

func (*UserQuery) Limit

func (uq *UserQuery) Limit(limit int) *UserQuery

Limit adds a limit step to the query.

func (*UserQuery) Offset

func (uq *UserQuery) Offset(offset int) *UserQuery

Offset adds an offset step to the query.

func (*UserQuery) Only

func (uq *UserQuery) Only(ctx context.Context) (*User, error)

Only returns the only User entity in the query, returns an error if not exactly one entity was returned.

func (*UserQuery) OnlyID

func (uq *UserQuery) OnlyID(ctx context.Context) (id int, err error)

OnlyID returns the only User id in the query, returns an error if not exactly one id was returned.

func (*UserQuery) OnlyX

func (uq *UserQuery) OnlyX(ctx context.Context) *User

OnlyX is like Only, but panics if an error occurs.

func (*UserQuery) OnlyXID

func (uq *UserQuery) OnlyXID(ctx context.Context) int

OnlyXID is like OnlyID, but panics if an error occurs.

func (*UserQuery) Order

func (uq *UserQuery) Order(o ...Order) *UserQuery

Order adds an order step to the query.

func (*UserQuery) QueryChildren

func (uq *UserQuery) QueryChildren() *UserQuery

QueryChildren chains the current query on the children edge.

func (*UserQuery) QueryGroups

func (uq *UserQuery) QueryGroups() *GroupQuery

QueryGroups chains the current query on the groups edge.

func (*UserQuery) QueryParent

func (uq *UserQuery) QueryParent() *UserQuery

QueryParent chains the current query on the parent edge.

func (*UserQuery) QueryPets added in v0.1.2

func (uq *UserQuery) QueryPets() *PetQuery

QueryPets chains the current query on the pets edge.

func (*UserQuery) Select

func (uq *UserQuery) Select(field string, fields ...string) *UserSelect

Select one or more fields from the given query.

func (*UserQuery) Where

func (uq *UserQuery) Where(ps ...predicate.User) *UserQuery

Where adds a new predicate for the builder.

func (*UserQuery) WithChildren

func (uq *UserQuery) WithChildren(opts ...func(*UserQuery)) *UserQuery
WithChildren tells the query-builder to eager-loads the nodes that are connected to

the "children" edge. The optional arguments used to configure the query builder of the edge.

func (*UserQuery) WithGroups

func (uq *UserQuery) WithGroups(opts ...func(*GroupQuery)) *UserQuery
WithGroups tells the query-builder to eager-loads the nodes that are connected to

the "groups" edge. The optional arguments used to configure the query builder of the edge.

func (*UserQuery) WithParent

func (uq *UserQuery) WithParent(opts ...func(*UserQuery)) *UserQuery
WithParent tells the query-builder to eager-loads the nodes that are connected to

the "parent" edge. The optional arguments used to configure the query builder of the edge.

func (*UserQuery) WithPets added in v0.1.2

func (uq *UserQuery) WithPets(opts ...func(*PetQuery)) *UserQuery
WithPets tells the query-builder to eager-loads the nodes that are connected to

the "pets" edge. The optional arguments used to configure the query builder of the edge.

type UserSelect

type UserSelect struct {
	// contains filtered or unexported fields
}

UserSelect is the builder for select fields of User entities.

func (*UserSelect) Bools

func (us *UserSelect) Bools(ctx context.Context) ([]bool, error)

Bools returns list of bools from selector. It is only allowed when selecting one field.

func (*UserSelect) BoolsX

func (us *UserSelect) BoolsX(ctx context.Context) []bool

BoolsX is like Bools, but panics if an error occurs.

func (*UserSelect) Float64s

func (us *UserSelect) Float64s(ctx context.Context) ([]float64, error)

Float64s returns list of float64s from selector. It is only allowed when selecting one field.

func (*UserSelect) Float64sX

func (us *UserSelect) Float64sX(ctx context.Context) []float64

Float64sX is like Float64s, but panics if an error occurs.

func (*UserSelect) Ints

func (us *UserSelect) Ints(ctx context.Context) ([]int, error)

Ints returns list of ints from selector. It is only allowed when selecting one field.

func (*UserSelect) IntsX

func (us *UserSelect) IntsX(ctx context.Context) []int

IntsX is like Ints, but panics if an error occurs.

func (*UserSelect) Scan

func (us *UserSelect) Scan(ctx context.Context, v interface{}) error

Scan applies the selector query and scan the result into the given value.

func (*UserSelect) ScanX

func (us *UserSelect) ScanX(ctx context.Context, v interface{})

ScanX is like Scan, but panics if an error occurs.

func (*UserSelect) Strings

func (us *UserSelect) Strings(ctx context.Context) ([]string, error)

Strings returns list of strings from selector. It is only allowed when selecting one field.

func (*UserSelect) StringsX

func (us *UserSelect) StringsX(ctx context.Context) []string

StringsX is like Strings, but panics if an error occurs.

type UserUpdate

type UserUpdate struct {
	// contains filtered or unexported fields
}

UserUpdate is the builder for updating User entities.

func (*UserUpdate) AddChildIDs

func (uu *UserUpdate) AddChildIDs(ids ...int) *UserUpdate

AddChildIDs adds the children edge to User by ids.

func (*UserUpdate) AddChildren

func (uu *UserUpdate) AddChildren(u ...*User) *UserUpdate

AddChildren adds the children edges to User.

func (*UserUpdate) AddGroupIDs

func (uu *UserUpdate) AddGroupIDs(ids ...int) *UserUpdate

AddGroupIDs adds the groups edge to Group by ids.

func (*UserUpdate) AddGroups

func (uu *UserUpdate) AddGroups(g ...*Group) *UserUpdate

AddGroups adds the groups edges to Group.

func (*UserUpdate) AddPetIDs added in v0.1.2

func (uu *UserUpdate) AddPetIDs(ids ...string) *UserUpdate

AddPetIDs adds the pets edge to Pet by ids.

func (*UserUpdate) AddPets added in v0.1.2

func (uu *UserUpdate) AddPets(p ...*Pet) *UserUpdate

AddPets adds the pets edges to Pet.

func (*UserUpdate) ClearParent

func (uu *UserUpdate) ClearParent() *UserUpdate

ClearParent clears the parent edge to User.

func (*UserUpdate) Exec

func (uu *UserUpdate) Exec(ctx context.Context) error

Exec executes the query.

func (*UserUpdate) ExecX

func (uu *UserUpdate) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpdate) RemoveChildIDs

func (uu *UserUpdate) RemoveChildIDs(ids ...int) *UserUpdate

RemoveChildIDs removes the children edge to User by ids.

func (*UserUpdate) RemoveChildren

func (uu *UserUpdate) RemoveChildren(u ...*User) *UserUpdate

RemoveChildren removes children edges to User.

func (*UserUpdate) RemoveGroupIDs

func (uu *UserUpdate) RemoveGroupIDs(ids ...int) *UserUpdate

RemoveGroupIDs removes the groups edge to Group by ids.

func (*UserUpdate) RemoveGroups

func (uu *UserUpdate) RemoveGroups(g ...*Group) *UserUpdate

RemoveGroups removes groups edges to Group.

func (*UserUpdate) RemovePetIDs added in v0.1.2

func (uu *UserUpdate) RemovePetIDs(ids ...string) *UserUpdate

RemovePetIDs removes the pets edge to Pet by ids.

func (*UserUpdate) RemovePets added in v0.1.2

func (uu *UserUpdate) RemovePets(p ...*Pet) *UserUpdate

RemovePets removes pets edges to Pet.

func (*UserUpdate) Save

func (uu *UserUpdate) Save(ctx context.Context) (int, error)

Save executes the query and returns the number of rows/vertices matched by this operation.

func (*UserUpdate) SaveX

func (uu *UserUpdate) SaveX(ctx context.Context) int

SaveX is like Save, but panics if an error occurs.

func (*UserUpdate) SetNillableParentID

func (uu *UserUpdate) SetNillableParentID(id *int) *UserUpdate

SetNillableParentID sets the parent edge to User by id if the given value is not nil.

func (*UserUpdate) SetParent

func (uu *UserUpdate) SetParent(u *User) *UserUpdate

SetParent sets the parent edge to User.

func (*UserUpdate) SetParentID

func (uu *UserUpdate) SetParentID(id int) *UserUpdate

SetParentID sets the parent edge to User by id.

func (*UserUpdate) Where

func (uu *UserUpdate) Where(ps ...predicate.User) *UserUpdate

Where adds a new predicate for the builder.

type UserUpdateOne

type UserUpdateOne struct {
	// contains filtered or unexported fields
}

UserUpdateOne is the builder for updating a single User entity.

func (*UserUpdateOne) AddChildIDs

func (uuo *UserUpdateOne) AddChildIDs(ids ...int) *UserUpdateOne

AddChildIDs adds the children edge to User by ids.

func (*UserUpdateOne) AddChildren

func (uuo *UserUpdateOne) AddChildren(u ...*User) *UserUpdateOne

AddChildren adds the children edges to User.

func (*UserUpdateOne) AddGroupIDs

func (uuo *UserUpdateOne) AddGroupIDs(ids ...int) *UserUpdateOne

AddGroupIDs adds the groups edge to Group by ids.

func (*UserUpdateOne) AddGroups

func (uuo *UserUpdateOne) AddGroups(g ...*Group) *UserUpdateOne

AddGroups adds the groups edges to Group.

func (*UserUpdateOne) AddPetIDs added in v0.1.2

func (uuo *UserUpdateOne) AddPetIDs(ids ...string) *UserUpdateOne

AddPetIDs adds the pets edge to Pet by ids.

func (*UserUpdateOne) AddPets added in v0.1.2

func (uuo *UserUpdateOne) AddPets(p ...*Pet) *UserUpdateOne

AddPets adds the pets edges to Pet.

func (*UserUpdateOne) ClearParent

func (uuo *UserUpdateOne) ClearParent() *UserUpdateOne

ClearParent clears the parent edge to User.

func (*UserUpdateOne) Exec

func (uuo *UserUpdateOne) Exec(ctx context.Context) error

Exec executes the query on the entity.

func (*UserUpdateOne) ExecX

func (uuo *UserUpdateOne) ExecX(ctx context.Context)

ExecX is like Exec, but panics if an error occurs.

func (*UserUpdateOne) RemoveChildIDs

func (uuo *UserUpdateOne) RemoveChildIDs(ids ...int) *UserUpdateOne

RemoveChildIDs removes the children edge to User by ids.

func (*UserUpdateOne) RemoveChildren

func (uuo *UserUpdateOne) RemoveChildren(u ...*User) *UserUpdateOne

RemoveChildren removes children edges to User.

func (*UserUpdateOne) RemoveGroupIDs

func (uuo *UserUpdateOne) RemoveGroupIDs(ids ...int) *UserUpdateOne

RemoveGroupIDs removes the groups edge to Group by ids.

func (*UserUpdateOne) RemoveGroups

func (uuo *UserUpdateOne) RemoveGroups(g ...*Group) *UserUpdateOne

RemoveGroups removes groups edges to Group.

func (*UserUpdateOne) RemovePetIDs added in v0.1.2

func (uuo *UserUpdateOne) RemovePetIDs(ids ...string) *UserUpdateOne

RemovePetIDs removes the pets edge to Pet by ids.

func (*UserUpdateOne) RemovePets added in v0.1.2

func (uuo *UserUpdateOne) RemovePets(p ...*Pet) *UserUpdateOne

RemovePets removes pets edges to Pet.

func (*UserUpdateOne) Save

func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error)

Save executes the query and returns the updated entity.

func (*UserUpdateOne) SaveX

func (uuo *UserUpdateOne) SaveX(ctx context.Context) *User

SaveX is like Save, but panics if an error occurs.

func (*UserUpdateOne) SetNillableParentID

func (uuo *UserUpdateOne) SetNillableParentID(id *int) *UserUpdateOne

SetNillableParentID sets the parent edge to User by id if the given value is not nil.

func (*UserUpdateOne) SetParent

func (uuo *UserUpdateOne) SetParent(u *User) *UserUpdateOne

SetParent sets the parent edge to User.

func (*UserUpdateOne) SetParentID

func (uuo *UserUpdateOne) SetParentID(id int) *UserUpdateOne

SetParentID sets the parent edge to User by id.

type Users

type Users []*User

Users is a parsable slice of User.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL