Pogledajte određenu poruku
Staro 20. 03. 2008.   #17
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Ne verujem da ćemo sa našim rešenjem zagrditi baš ovoliko, ali me nervira kako stvari trenutno izgledaju (o ovome sam pričao na meetupu prošli vikend):

Kôd:
SELECT acx_activity_logs.* 
  FROM acx_activity_logs, acx_project_objects 
  WHERE acx_activity_logs.object_id = acx_project_objects.id AND ((acx_project_objects.project_id = '23' AND (acx_project_objects.type IN ('discussion', 'page', 'ticket', 'timerecord') OR acx_project_objects.parent_type IN ('discussion', 'page', 'ticket', 'timerecord'))) OR (acx_project_objects.project_id = 31)) AND acx_activity_logs.created_by_id != '3' AND acx_project_objects.state >= '1' AND acx_project_objects.visibility >= '1' 
  ORDER BY acx_activity_logs.created_on DESC 
  LIMIT 0, 15
Problem je ovaj deo:

Kôd:
((acx_project_objects.project_id = '23' AND (acx_project_objects.type IN ('discussion', 'page', 'ticket', 'timerecord') OR acx_project_objects.parent_type IN ('discussion', 'page', 'ticket', 'timerecord'))) OR (acx_project_objects.project_id = 31))
Pošto svaki korisnik na svakom projektu može imati različite dozvole (na nekima sme da vidi tickete, na nekima ne pa tako za svaki) tipovi koje sistem traži nisu poznati unapred, već se na osnovu dozvola i projekta određuju. Ovaj deo uslova se množi brojem aktivnih projekata kojima korisnik ima pristup (gore je primer samo za jedan).

Kao što rekoh, nismo zagrdili kao ovi gore, ali mi se rešenje ne sviđa previše.
Ilija Studen je offline   Odgovorite uz citat