2013-08-21 80 views
0

我試圖把一個查詢打亂我的大腦。返回期望的數組

Users Table 
=================== 
user_id primary key 
role_id integer 

Characters Table 
===================== 
character_id integer 
owned_by integer (0 if not owned and if owned will show user_id from users table) 

對於每個角色都有一個需要運行的特定類型的查詢。

ROLE_ID

  1. (球迷):沒有查詢要跑去。

  2. (基本用戶):應該是被關聯到這個角色

  3. (編輯)的USER_ID返回的任何字符的列表:應該是與該USER_ID和所有返回字符的列表其他基本用戶的角色,而不是所有的字符

  4. (管理員)應該是與該USER_ID和其他基本用戶和編輯的字符返回字符的列表,而不是所有的字符

  5. (站長)應該是一個這與該USER_ID和所有其他基本用戶的角色,和編輯的字符返回,擁有管理員所擁有的字符,而不是人物的名單國有字符

我想過在一個查詢中這樣做,但我的「M如果想知道可能是一個壞主意。

+0

請問主持人請刪除這篇文章,因爲我決定用我的代碼做一個不同的路線。 – user2576961

回答

1

爲什麼不使用switch命令?

switch($type) { 
    case 'basic users' : 
    //do something 
    break; 
    case 'editors' : 
    //do something 
    break; 
    case 'admins' : 
    //do something 
    break; 
    case 'webmaster' : 
    //do something 
    break; 
    default: 
    //Don't do anything, as no query is to be run 
    //aka: fans 
    break; 
} 

其中//do something,插入您需要的邏輯?

+0

我確實在我的控制器中做了這件事,但是我試圖想出這些查詢。 – user2576961

+0

類似於http://sqlfiddle.com/#!2/c4847/1? – sniko