MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

relationships between different database tables/model

In Laravel, relationships are a way to establish connections between different database tables/models. They allow you to define how different models are related to each other, making it easier to retrieve and manipulate related data.

One-to-One Relationship:

A one-to-one relationship is where one record in a table/model is directly related to only one record in another table/model. For example, let’s consider two tables: “users” and “profiles.” Each user has one profile, and each profile belongs to one user. To define this relationship in Laravel, you would create two models: User and Profile. The User model would have a method to define the relationship with the Profile model, like this:

class User extends Model
{
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }
}

In this example, the hasOne method is used to define the relationship between the User and Profile models. Now you can easily access the profile of a user:

$user = User::find(1);
$profile = $user->profile;

One-to-Many Relationship:

A one-to-many relationship is where one record in a table/model can be associated with multiple records in another table/model. For instance, consider two tables: “users” and “posts.” Each user can have multiple posts, but each post belongs to only one user. To establish this relationship in Laravel, you would define it in the User model:

class User extends Model
{
public function posts()
{
return $this->hasMany(Post::class);
}
}

The hasMany method is used to define the one-to-many relationship. Now you can retrieve all posts associated with a user:

$user = User::find(1);
$posts = $user->posts;

Many-to-Many Relationship:

A many-to-many relationship is where multiple records in one table/model can be related to multiple records in another table/model. For example, consider two tables: “users” and “roles.” A user can have multiple roles, and a role can be assigned to multiple users. To define this relationship in Laravel, you would create a pivot table that connects the two models and use the belongsToMany method in both models:

class User extends Model
{
    public function roles()
    {
        return $this->belongsToMany(Role::class);
    }
}

class Role extends Model
{
    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

In this case, Laravel assumes that the pivot table is named “role_user” (by combining the table names in alphabetical order). You can customize the pivot table name and columns if needed. Now you can access the roles of a user or the users assigned to a role:

$user = User::find(1);
$roles = $user->roles;

$role = Role::find(1);
$users = $role->users;

Related Posts

Become a DevOps Engineer in Mumbai with Real Projects

Introduction: Problem, Context & Outcome Engineers across Mumbai work in fast-paced delivery environments where releases happen frequently, systems scale continuously, and downtime costs money. However, many professionals…

DevOps Expertise for CI/CD, Cloud, and Automation—Malaysia

Introduction: Problem, Context & Outcome Engineering teams across modern organizations adopt DevOps to accelerate releases and improve system reliability. However, many teams still experience deployment failures, slow…

DevOps Expertise for CI/CD, Cloud, and Automation—Kolkata

Introduction: Problem, Context & Outcome Many engineering teams invest in DevOps tools expecting faster releases and improved stability. However, deployments still fail, recovery remains slow, and coordination…

DevOps Expertise for CI/CD, Cloud, and Automation—Hyderabad.

Introduction: Problem, Context & Outcome Many engineering teams adopt DevOps tools expecting faster delivery and higher stability. However, releases still fail, recovery takes too long, and teams…

DevOps Expertise for CI/CD, Cloud, and Automation—Delhi.

Introduction: Problem, Context & Outcome Many engineering teams adopt DevOps tools expecting faster releases, yet they still face unstable deployments, frequent rollbacks, and unclear accountability. Although automation…

DevOps Expertise for CI/CD, Cloud, and Automation—Chennai

Introduction: Problem, Context & Outcome Many engineering teams adopt DevOps tools with high expectations, yet they continue to face slow releases, unstable deployments, and repeated operational issues….

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x