As usual, we are going to start by creating the models. First, let's list the tables we will be working with and their columns:
Actor
:actor_id
,first_name
,last_name
,last_update
Category
:category_id
,name
,last_update
Language
:language_id
,name
,last_update
City
:city_id
,city
,country_id
,last_update
Country
:country_id
,country
,last_update
We could create one model for each of these entities with no problem at all, however, we want to reuse as much code as possible. Take another look at the list of tables and their columns. Notice that all tables have one column in common, the last_update
column.
As all the tables have the last_update
column in common we can create a super model, and then in models (which will extend the super model we do not need to declare the column) don't you think?