I have 3 models where I use many to many
relationships
- User
- Position
- UserPosition
Here my code where I tried create unique positions name in Position model then attach it to user.
Code:
public function createUserPosition()
{
$user = User::find(1);
$user->positions()->detach();
$positions = [
"developer",
"coder",
"singer"
];
$ids = [];
foreach ($positions as $name) {
$position = Position::updateOrCreate(
["name" => $name],
["name" => $name]
);
$ids[] = $position->id;
}
$user->positions()->attach($ids);
dd($user->positions);
}
Is it possible to optimize my code by reducing database queries?