ugrás a tartalomhoz

Archívum - Május 9, 2009 - Fórum téma

MySQL - user jogok összegyűjtése

inf · 2009. Május. 9. (Szo), 01.46
Sziasztok!

A felhasználók jogait egy összekötő táblában tárolom, ami az users és a rights táblákat köti össze, és a neve user_rights.
Az user táblában található adatok alapján megkapom az uid-t, és ezzel lekérdezem az user_rights-ból, hogy a felhasználónak milyen jogai vannak, majd a rights táblából az rid alapján kikeresem, hogy a jogok milyen kategóriákba, és a kategórián belül milyen folyamathoz tartoznak.

A lényeg, hogy a végeredményben az uid-t és a jogokat összegyűjtve szeretném megkapni.
Ez megy is nagyjából az alábbi kóddal:

SELECT user_rights.uid,user_rights.access,rights.controller,rights.action
	FROM user_rights INNER JOIN rights
		ON user_rights.rid=rights.rid
		AND user_rights.uid IN 
			(SELECT uid FROM users WHERE email='cim##kukac##gmail.com' AND password='blah')
A kimenete valami ilyesmi:

uid	|	controller	|	action	|	access
1	|	article		|	write	|	1
1	|	article		|	update	|	1
1	|	users		|	read	|	1
.
.
.
Arra lennék kíváncsi, hogy lehetséges e olyan sql-el, hogy az összes jogot összeszedjem valamilyen tömbben, vagy stringben, hogy csak egy mezőt foglaljanak el, mert nekem kicsit zavaró, hogy minden sor elején ott van az uid, meg persze majd az uid-n kívül mást is szeretnék majd még odatenni.