How do I allow multiple many-to-many entries in laravel?

In my Laravel5 app I have users, tasks, and user_tasks. A user can complete a task multiple times:

User:
  id
  name
  ...

Task:
  id
  name
  value
  ...

UserTask:
  id
  user_id
  task_id
  completed_on

If this were a normal many-to-many relationship I would have this function in the user class:

class User extends Model {
  // ...
  public function tasks(){
    return $this->belongsToMany(Task::class, 'user_tasks', 'user_id', 'task_id');
  }
}

But I believe this means that user_id/task_id is a primary key on user_tasks. How do I change the relationships between Task and User if I want duplicate user_id/task_id entries in the join table?

Second question, what if I want a list of all unique tasks a user has completed, regardless of how many time a user has completed them?


Source: stackoverflow-php