Laravel has always made development a breeze for developers. In this shot, we will look at Eloquent Relationship
, specifically the One-To-Many
relationship.
As a user on Facebook, you have several Post be it pictures or videos they are all characterized as post and all those Post belongs to you. These were One-To-Many
relationships come in.
A One-To-Many
relationship is utilized to characterize connections where a single model is a parent to one or more child models. For illustration, a web journal post may have a boundless number of comments. Like all other Eloquent
connections, one-to-many connections are characterized by characterizing a method on your Eloquent model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function comments()
{
return $this->hasMany(Comment::class);
}
}
Keep in mind, Eloquent will consequently decide the correct foreign key column for the Comment model. By tradition, Eloquent will take the “snake case” title of the parent model and surfix it with _id. So, in this case, Eloquent will expect the foreign key column on the Comment model as post_id.
Once the relationship method has been characterized, we will get to the collection of related comments by getting to the comments property. Remember, since Eloquent gives “dynamic relationship properties”, we are able to get to relationship methods as like they were characterized as properties on the model:
use App\Models\Post;
$comments = Post::find(1)->comments;
foreach ($comments as $comment) {
//
}
The code above will iterate through all the comments on the post with the ID 1
.
One to Many Relationship allows for easy access of related table of a model.