Как мне разрешить несколько записей многие-ко-многим в laravel?

В моем приложении Laravel5 у меня есть пользователи, задачи и user_tasks. Пользователь может выполнить задачу несколько раз:

User:
id
name
...

Task:
id
name
value
...

UserTask:
id
user_id
task_id
completed_on

Если бы это было нормальное отношение «многие ко многим», я бы использовал эту функцию в классе пользователя:

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

Но я считаю, что это означает, что user_id / task_id является первичным ключом для user_tasks. Как мне изменить отношения между Задачей и Пользователем, если я хочу, чтобы в таблице соединений были дублированные записи user_id / task_id?

Второй вопрос: что если я хочу получить список всех уникальных задач, которые пользователь выполнил, независимо от того, сколько раз пользователь их выполнил?

РЕДАКТИРОВАТЬ: Извините, я не пытался иметь в виду, что это поместит уникальный ключ в эти столбцы. Я имел в виду, что кажется, что ownToMany следует использовать в ситуации, когда существует только одно соединение между любой парой объектов User и Task, поэтому ситуации, когда user_id / task_id может быть уникальным ключом.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector