I am trying to achieve a simple insert into a pivot table but I cannot understand the principle why it does not work.
I have a Languages table which contains an id, name and code populated with languages. And I have a users table populated with users. The middle table is users_languages which has the columns user_id and and language_id.
My request has something like this
{
"languages": [1, 2] -> language ids
}
My languages method into the Users model looks like this:
public function language() : BelongsToMany
{
return $this
->belongsToMany(Language::class, 'users_languages')
->withPivot('user_id', 'language_id');
}
I am trying to add the languages like this:
public function setLanguages(array $languages) : self
{
$this->language()->delete();
$this->language()->createMany($languages);
return $this;
}
The result I get is actually the its trying to create a new entry into the Languages table instead of just making a connection between the user_id and language_id.
I was looking through the documentation and some articles how this works but I none of the solutions I found worked. I am using Lumen 5.5 for my project. Thank you in advance for your help!