Laravel Pivot Tables Tutorial Example

Today, We want to share with you Laravel Pivot Tables Tutorial Example.In this post we will show you Laravel multiple pivot table relationships, hear for Laravel 5.7 Role Management with Pivot Models we will give you demo and example for implement.In this post, we will learn about LARAVEL MANY-TO-MANY RELATIONS using Pivot Tables with an example.

Laravel Pivot Tables Tutorial Example

There are the Following The simple About Laravel Pivot Tables Tutorial Example Full Information With Example and source code.

As I will cover this Post with live Working example to develop Pivot Tables Example in Laravel, so the LARAVEL MANY-TO-MANY RELATIONS using Pivot Tables for this example is following below.

Pivot table — is a table used for Join or connecting Laravel relationships between two tables.

Working with pivot table(many-to-many) relationship in Laravel with Example

$product->types()->sync([1, 2, 3]) ;

If laravel Pivot table have some additionls columns add as well as we want to retrives them then we have to identify in your laravel model while defining the pivot table(many-to-many) relationship.

return $this->belongsToMany('Product')->withPivot('details');

Custom Pivot Table Models

here see full example of the Laravel custom pivot table

I have three tables :

  • fruites (I call it “Product”)
  • Product Category (I call it “Category)
  • Product Supplay (I call it “Supplay”)

My relationship :

  • Product has many Category (duplex fruites)
  • Product has many Supplay
  • Category has many Product
  • Category has many Supplay
  • Supplay has one Category
  • Supplay has one Product
class Product extends Model
{
    public function CategoryProducts(){
        return $this->hasMany('App\Models\Company\CategoryProduct');
    }

    public function Supplays()
    {
        return $this->hasManyThrough('App\Models\Company\Supplay','App\Models\Company\CategoryProduct', 'Category_id', 'Category_Product_id');
    }
}

class Category extends Model
{
    public function ProductCategorys()
    {
        return $this->hasMany('App\Models\Company\CategoryProduct');
    }

}

class CategoryProduct extends Model
{

    protected $table = 'Category_Product';

    public function Product(){
        return $this->belongsTo('App\Models\Company\Product');
    }

    public function Category(){
        return $this->belongsTo('App\Models\Company\Category');
    }

    public function Supplays()
    {
        return $this->hasMany('App\Models\Company\Supplay','Category_Product_id');
    }
}

class Supplay extends Model
{

    public function type(){
        return $this->belongsTo('App\Models\Company\Type');
    }

    public function CategoryProduct(){
        return $this->belongsTo('App\Models\Company\CategoryProduct','Category_Product_id');
    }

}
[/php

$fruites = Product::with('CategoryProducts','CategoryProducts.Category', 'Supplays')->first();
dd($fruites->Supplays);
foreach($fruites->CategoryProducts as $CategoryProduct){
    dd($CategoryProduct->Category);
}
[/php

$fruitess = Product::with('CategoryProducts','CategoryProducts.Category', 'Supplays')->withCount('Supplays')->get();

foreach($fruitess as $fruites){
    dd($fruites->Supplays_count);
    dd($fruites->Supplays); //direct Supplays for each fruites
    foreach($fruites->CategoryProducts as $CategoryProduct){
        dd($CategoryProduct->Category);
    }
}    

laravel pivot table migration

Create Laravel a new migration

php artisan make:migration create_alpha_beta_table --create --table=alpha_beta

Example: laravel pivot table

//get user by id
$user = App\User::find(1);

//get roles of this user
foreach ($user->roles as $role) {

  //pivot attribute returns a model which represent user_role table
  echo $role->pivot->created_at;

}
[/php

create a Laravel class by extending pivot

class Product extends Model
{
    /**
     * The users that belong to the role.
     */
    public function Cats()
    {
        return $this->belongsToMany('App\Cat')->using('App\Cat_Product');
    }
}

class Cat extends Model
{
    /**
     * The users that belong to the role.
     */
    public function Products()
    {
        return $this->belongsToMany('App\Product')->using('App\Cat_Product');
    }
}

class Cat_Product extends Pivot
{
    //
}
Angular 6 CRUD Operations Application Tutorials

Read :

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about Laravel Pivot Tables Tutorial Example.
I would like to have feedback on my Pakainfo.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.

Leave a Comment