You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.2 KiB
1.2 KiB
Nesting Models
Objectives
Currently, we only have two unrelated models: people and locations. Let's add the functionality so that whenever we have JSON that represents a person, it will contain a home property, which is the associated location object:
{
"id":4,
"name":"Bob",
"age":25,
"home": {
"id":2,
"street": "123 Fake Street",
"city": "Aurora",
"state": "NY"
}
}
Also, when we have a location, it will contain an array of people objects:
{
"id":2,
"street": "123 Fake Street",
"city": "Aurora",
"state": "NY",
"inhabitants":[
{
"id":4,
"name":"Bob",
"age":25
},
{
"id":7,
"name":"Sally",
"age":74
},
]
}
This will be a one-to-many relationship
Add home_id to people
First, go into psql and add a home_id INT column to the people table:
ALTER TABLE people ADD COLUMN home_id INT;
Now we can give people homes like so:
UPDATE people SET home_id = 2 WHERE id = 4;
The previous code will find the row with an id of 4 and set the home_id column to 2.