name of the related .hasOne()
or .hasMany()
model
the field(s) that should be used to reference the related model
a belong-to relationship definition
// one-to-many relationship
const schema = a.schema({
Member: a.model({
name: a.string().required(),
// 1. Create a reference field
teamId: a.id(),
// 2. Create a belongsTo relationship with the reference field
team: a.belongsTo('Team', 'teamId'),
})
.authorization(allow => [allow.publicApiKey()]),
Team: a.model({
mantra: a.string().required(),
// 3. Create a hasMany relationship with the reference field
// from the `Member`s model.
members: a.hasMany('Member', 'teamId'),
})
.authorization(allow => [allow.publicApiKey()]),
});
// one-to-one relationship
const schema = a.schema({
Cart: a.model({
items: a.string().required().array(),
// 1. Create reference field
customerId: a.id(),
// 2. Create relationship field with the reference field
customer: a.belongsTo('Customer', 'customerId'),
}),
Customer: a.model({
name: a.string(),
// 3. Create relationship field with the reference field
// from the Cart model
activeCart: a.hasOne('Cart', 'customerId')
}),
});
Use
belongsTo()
to create a field to query the relatedhasOne()
orhasMany()
relationship. The belongsTo() method requires that a hasOne() or hasMany() relationship already exists from parent to the related model.