The Eloquent ORM that comes with Laravel makes it incredibly easy to interact with a database. It is like Eloquent models themselves; relationships also serve as an essential query builders, representing the relationships as methods provide powerful method chaining and querying capabilities.
Today we'll look at how we can use Eloquent to interact with our database.
Article model will correspond to a 'articles' table in the database. Since we have convention when creating our models and database tables, we can easily call data from our database.
For example, to get all articles from a 'Article' model, all you would do is
Article::all(). Using this function would query the database and generate the proper SQL command. Here are some quick examples:
|Find all articles||Article::all()|
|Find a record||Article::find(id)|
|Delete a record||Article::delete(id)|
- One To One
- One To Many
- Many To Many
- HasOne & HasMany Through
- Polymorphic Relations
One to one relationship is one of basic relationships. For example, a User model would be associated with a Address model. To illustrate this relationship, we can create a address() method within the User model and call the hasOne() method to relate the Address model.
One of many relationships determines a relationship where one single model owns the number of the other model. For example, a blog author may have many post.
Each post have many tag and each tag can have many post.To define many to many relationships, we use belongsToMany() method.
Adding & Retrieving Pivot Table Columns in Many To Many Relations
Handle events on attach, detach or sync in Many To Many Relations
The “has-many-through” relationship provides a convenient shortcut for accessing distant relations via an intermediate relation. For example, a Country model might have many Post models through an intermediate User model. In this example, you could easily gather all blog posts for a given country. Let’s look at the tables required to define this relationship:
has-many-through relation using Pivot model
A polymorphic relationship is where a model can belong to more than one other model on a single association.
One to Many & One to One Polymorphic Relationships
Many to Many Polymorphic Relationship