Creating one to many relationship with pivot table of many to many relationship

user3049006

Users table structure: users

id, name, username, password, created_at, updated_at

Article table structure: article

id, title, content, created_at, updated_at

Relationship table: article_user

id, article_id, user_id, is_active, created_at, updated_at

Tags

id, name, user_id, created_at, updated_at

Relation of pivot table article_user with tags. table: article_user_tag

tag_id, article_user_id

class User extends Model
{
    protected $fillable = ['name','username','password'];

    public function articles()
    {
        return $this->belongsToMany('App\Article')->withPivot('is_active')->withTimestamps();
    }

    public function tags()
    {
        return $this->hasMany('App\Tag');
    }
}

class Article extends Model
{
    protected $fillable = ['title','content'];

    public function users()
    {
        return $this->belongsToMany('App\User')->withPivot('is_active')->withTimestamps();;
    }

        public function tags()
    {
        return $this->belongsToMany('App\Tag');
    }       
}

class Tag extends Model
{
    protected $fillable = ['title','content'];

    public function articles()
    {
        return $this->belongsToMany('App\Article');
    }

    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

I want to connect these table so I can access like this or similar format

$user->articles()->first()->tags;

and should be able to create/update as well, smth like this

$user->articles()->first()->create(['title'=>'testing','content'=>'content'])->attach(['tag_id_1','tag_id_2','tag_id_3']);

Any help is much appreciated

user6067756

Try this:

class User extends Model
{
    protected $fillable = ['name','username','password'];

    public function articles()
    {
        return $this->hasMany('App\ArticleUser')->with('article');
    }

    public function tags()
    {
        return $this->hasMany('App\Tag');
    }
}

class ArticleUser extends Model
{
    public funciton article()
    {
        return $this->belongsTo('App\Article');
    }

    public function user()
    {
        return $this->belongsTo('App\User');
    }

    public function tags()
    {
        return $this->belongsToMany('App\Tag');
    }
}

class Article extends Model
{
    protected $fillable = ['title','content'];
}

class Tag extends Model
{
    protected $fillable = ['title','content'];

    public function articles()
    {
        return $this->belongsToMany('App\ArticleUser')->with('article');
    }

    public function user()
    {
        return $this->belongsTo('App\User');
    }
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Creating one to many relationship with pivot table of many to many relationship

From Dev

One to many relationship table

From Dev

One to many relationship on the same table

From Dev

Creating a 'many-to-many' relationship

From Dev

Creating a 'many-to-many' relationship

From Dev

Creating one-to-many relationship between a model and a db table

From Dev

Recursive relationship on a many to many table

From Dev

SQL many to many relationship table

From Dev

Many to many relationship in the same table?

From Dev

Junction table/many to many relationship

From Dev

How to query a pivot table data in MySQL (many to many relationship)

From Dev

Laravel Eloquent Many to Many relationship using a pivot table

From Dev

Laravel belongsToMany inserting '0' on pivot table ids in a many to many relationship?

From Dev

Laravel - Order by pivot value in Many to Many table relationship

From Dev

Laravel Eloquent many-to-many relationship: Use explicit pivot table

From Dev

Unable to sync conditional pivot table many to many relationship laravel

From Dev

Laravel L5.5 No access to pivot table in "Many to many" relationship

From Dev

Creating a FriendlyId with a one-to-many relationship

From Dev

Creating One-to-Many with Relationship for the ORM in SQLAlchemy

From Dev

creating a many to one relationship in django with an existing model

From Dev

one to many vs many to many relationship

From Dev

CoreData :NSFetchedResultsController one to many to many to many relationship

From Dev

One To Many Relationship In Firebase

From Dev

Doctrine One to Many relationship

From Dev

Seeding one to many relationship

From Dev

Themeing a one to many relationship

From Dev

Paginate a One to Many Relationship

From Dev

Laravel: one to many relationship

From Dev

Accessing a one to many relationship

Related Related

  1. 1

    Creating one to many relationship with pivot table of many to many relationship

  2. 2

    One to many relationship table

  3. 3

    One to many relationship on the same table

  4. 4

    Creating a 'many-to-many' relationship

  5. 5

    Creating a 'many-to-many' relationship

  6. 6

    Creating one-to-many relationship between a model and a db table

  7. 7

    Recursive relationship on a many to many table

  8. 8

    SQL many to many relationship table

  9. 9

    Many to many relationship in the same table?

  10. 10

    Junction table/many to many relationship

  11. 11

    How to query a pivot table data in MySQL (many to many relationship)

  12. 12

    Laravel Eloquent Many to Many relationship using a pivot table

  13. 13

    Laravel belongsToMany inserting '0' on pivot table ids in a many to many relationship?

  14. 14

    Laravel - Order by pivot value in Many to Many table relationship

  15. 15

    Laravel Eloquent many-to-many relationship: Use explicit pivot table

  16. 16

    Unable to sync conditional pivot table many to many relationship laravel

  17. 17

    Laravel L5.5 No access to pivot table in "Many to many" relationship

  18. 18

    Creating a FriendlyId with a one-to-many relationship

  19. 19

    Creating One-to-Many with Relationship for the ORM in SQLAlchemy

  20. 20

    creating a many to one relationship in django with an existing model

  21. 21

    one to many vs many to many relationship

  22. 22

    CoreData :NSFetchedResultsController one to many to many to many relationship

  23. 23

    One To Many Relationship In Firebase

  24. 24

    Doctrine One to Many relationship

  25. 25

    Seeding one to many relationship

  26. 26

    Themeing a one to many relationship

  27. 27

    Paginate a One to Many Relationship

  28. 28

    Laravel: one to many relationship

  29. 29

    Accessing a one to many relationship

HotTag

Archive