私はこれら 2 つのステートメントを使用して BuddyPress に友情を照会していますが、これらの 2 つの MySQL ステートメントを組み合わせる方法がより良い方法なのか、それとも方法なのか疑問に思っています。
//Statement for friendship initiator
$SQL1 = "SELECT wp_users.display_name AS'name',
wp_users.user_login AS 'fname',
wp_users.user_nicename AS 'surname'
FROM wp_users
INNER JOIN wp_bp_friends
ON wp_users.id = wp_bp_friends.friend_user_id
WHERE 1=1
AND wp_bp_friends.initiator_user_id = " . $user_id . "
AND wp_bp_friends.is_confirmed = 1";
//Statement for friendship non-initiator
$SQL2 = "SELECT wp_users.display_name AS 'name',
wp_users.user_login AS 'fname',
wp_users.user_nicename AS 'surname'
FROM wp_users
INNER JOIN wp_bp_friends
ON wp_users.id = wp_bp_friends.initiator_user_id
WHERE 1=1
AND wp_bp_friends.friend_user_id = " . $user_id . "
AND wp_bp_friends.is_confirmed = 1";
結果には、関係を開始したかどうかに関係なく、 $user_id に基づく友情のリストが含まれている必要があります。