0

我是 sql soo 的初学者,我对 cometchat 中的朋友表的“大”选择有很大的问题。谁能给我写一下。

Cometchat 是为朋友表配置的:

friends

     toid     fromid
id    2          1
id    1          2

和 sql 选择它:

$sql = ("select DISTINCT ".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_USERID." userid,         ".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_NAME." username, 
".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_LASTACTIVITY." lastactivity, 
".DB_AVATARFIELD." avatar, ".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_USERID." link, 
cometchat_status.message, cometchat_status.status 
from ".TABLE_PREFIX."friends join ".TABLE_PREFIX.DB_USERTABLE." on      ".TABLE_PREFIX."friends.toid = ".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_USERID." left     join          cometchat_status on ".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_USERID." =     cometchat_status.userid ".DB_AVATARTABLE."
 where ".TABLE_PREFIX."friends.fromid = '".mysql_real_escape_string($userid)."' order by username asc");
return &sql;

我的 Rails 应用程序有友谊表:

friendships
     user_id     friend_id
id      1            2
id      2            1

当我只是更改订单时,它不起作用。我认为这对我现在来说很难。在 Rails 中,我只检查哪个友谊有我的个人资料的 user_id,然后将其显示为friend_is 作为朋友。

这是为带有朋友表的标准 cometchat 设置生成的 SQL:

select DISTINCT users.id userid,
    users.name username, 
    users.current_sign_in_at lastactivity, 
    users.id  avatar,
    users.id link, 
    cometchat_status.message,
    cometchat_status.status 
  from friends 
  join users on friends.toid = users.id 
  left join cometchat_status on users.id = cometchat_status.userid
  where friends.fromid = '10'
  order by username asc

我尝试将表从朋友更改为我的 fiendships 和 toid(在friend_id 上)和 formid(在 user_id 上),反之亦然,但它仍然不起作用,我没有得到朋友列表。

4

0 回答 0