Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

What is the best practice to setup many to many relationship with post and categories in laravel eloquent? Do I create a separate model for pivot table?

This is how I defined it in post model.

public function category()
{
    return $this->belongsToMany('AppCategory');
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
626 views
Welcome To Ask or Share your Answers For Others

1 Answer

you need to change the relationship method name to categories()

/**
 * The categories that belong to the product.
 */
public function categories()
{
    return $this->belongsToMany('AppCategory', 'category_product');

}

category_product - is your pivot table, you can define if you change the naming convention or its optional.

In Category model, you can define it like blow

/**
 * The users that belong to the role.
 */
public function products()
{
    return $this->belongsToMany('AppProduct', 'category_product');
}

If you require you can create a model for pivot table, in my case this is how i store data to pivot table (using attach method)

        $product->categories()->attach($category); //list of category id's

And you can update it again using detach method or synch method.

        $product->categories()->sync($synch); // new category id's

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...