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. (fans) : 不进行查询。

  2. (basic users) :应该是返回的任何字符的列表,其中 user_id 与该字符相关联

  3. (editors) :应该是与该 user_id 和所有其他基本用户字符一起返回的字符列表,而不是拥有的字符

  4. (admins) 应该是与该 user_id 和所有其他基本用户和编辑器字符一起返回的字符列表,而不是拥有的字符

  5. (webmaster) 应该是与该 user_id 和所有其他基本用户字符一起返回的字符列表,以及编辑器字符和拥有的管理员拥有的字符而不是拥有的字符

我曾考虑在一个查询中执行此操作,但我想知道这是否是个坏主意。

4

1 回答 1

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,插入您需要的逻辑?

于 2013-08-21T16:48:02.453 回答