Eloquent ORM Manytomany error of Constraint 1452

Asked

Viewed 19 times

0

I’m developing an application using the Eloquent ORM, but I’m having trouble with the N to N relation,

This is the relationship: inserir a descrição da imagem aqui

The records I’m using as a test in the Product table:

inserir a descrição da imagem aqui

The records I am using as a test in the Product table: inserir a descrição da imagem aqui

as you can see the Pivot table is the product: inserir a descrição da imagem aqui

Models look like this:

class Grupos extends Model{
    protected $table = 'produtosgrupos';
    protected $primaryKey = 'gruposId';
    public $timestamps = false;
    protected $fillable = [
        'gruposId',
        'grupos_titulo',
        'grupos_slug',
    ];

    public function subgrupos() {
       return $this->belongsToMany(SubGrupos::Class, 'produtosgrupos_produtossubgrupos', 'gruposId', 'gruposId');
    }
}

I’m trying to create the pivot table highlighting this way:

$modelGrupo = new Grupos;
$grupo = $modelGrupo->find(3);
$grupo->subgrupos()->attach(14); //o erro de constraint aconetece aqui

I ran a test directly into the database and it worked:

INSERT INTO produtosgrupos_produtossubgrupos (gruposId, subgruposId) VALUES (3, 14);

and carried out normally, I forgot something in the eloquent?

1 answer

1


You are incorrectly passing the fourth argument ( Foreign key) There are groups where there should be subgroups

 public function subgrupos() {
       return $this->belongsToMany(SubGrupos::Class, 'produtosgrupos_produtossubgrupos', 'gruposId', 'subgruposId');
    }
  • precisely Orge! Thank you!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.