A da probaš da za taskove koji nemaju assigned users dodaš sve jedno key (task_id, 0) u tabelu assignments, i kada čitaš čitaš:
SELECT * FROM assignments WHERE user_id = $user_id OR user_id = 0;
i tako dobiješ sve njegove taskove + one koji su dodeljeni svima?
Možda nije rešenje by the book, ali bi moglo da radi. Pri tome bi morao da radiš proveru kada god dodeljuješ assignments, recimo ovako:
- kada se kreira task, ako nije uneo user id - automatski se dodeljuje svima i kreiraš (task_id, 0)
- ako kasnije dodeli nekome assignment, odmah obrišeš (task_id, 0) jer više nije "svačiji"
- ako kasnije opet obriše taj assignment, proveriš da li ima još neko kome je dodeljen isti task, ako nema opet kreiraš (task_id, 0)
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman
I don't always know what I'm talking about but I know I'm right!
|