我是 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 上),反之亦然,但它仍然不起作用,我没有得到朋友列表。