Я создаю систему, используя Laravel и AngularJS, где я назначаю задачи пользователям.Несколько задач имеет несколько пользователей и наоборот.В базе данных у меня есть эти таблицы:
task: id |имя
task_users: id |Task_id |user_id
users: id |name
На мой взгляд, я отображаю конкретную задачу, используя идентификатор таблицы задач.Я отображаю список пользователей (называемых неназначенными пользователями), которые не назначены для этой конкретной задачиКогда этот пользователь назначен, его имя удаляется из списка.
Чтобы добиться этого, я использовал этот запрос:
public static function remainingUser($task_id)
{
return \DB::table('users')
->leftjoin('task_users', 'task_users.user_id', '=', 'users.id')
->select('users.id',
'users.name as name'
)
->where('task_id', '!=', $task_id)
->orWhere('task_id', null)
->get();
}
Предположим, у меня есть эти данные
task:
id |имя
1 |Задача1
2 |Задача2
3 |Task3
пользователи:
id |имя
1 |Пользователь1
2 |Пользователь2
3 |Пользователь3
4 |Пользователь4
5 |Пользователь5
6 |Пользователь6
7 |Пользователь7
8 |Пользователь8
9 |Пользователь9
10 |User10
task_users:
id |Task_id |user_id
1 |1 |1
1 |1 |2
1 |1 |3
1 |1 |5
1 |1 |6
1 |1 |7
1 |2 |2
1 |2 |4
Теперь предположим, что я отображаю детали задачи с task_id = 1 и хочу назначить пользователя 4 для этой задачи.Поэтому мой список неназначенных пользователей должен содержать всех пользователей, которым не назначено это задание.Мой запрос не возвращает необходимые данные.Я также пробовал разные условия в предложении where, но я не получаю правильные необходимые данные.Что я делаю не так?