2011-12-06 16 views
3

FQLを使用して、特定の要件、つまりコンピュータサイエンスを専攻している友人などのユーザーの友だちを返すことはできますか?ここで私が友人データを返すために使用している現在のFQLクエリがあります。これを達成するためにこれらを修正するにはどうしたらいいですか?FQLを使用して友人のデータを返す

try{ 
     $fql = "select name,education,work from user WHERE uid IN (select uid2 from friend where uid1=($user))"; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
     ); 
     $fqlResult = $facebook->api($param); 
    } 
    catch(Exception $o){ 
     d($o); 
    } 
} 

答えて

0

わからないこれは、私は同じ問題を抱えていた

select name,education,work from user WHERE uid IN (select uid2 from friend where uid1=($user) AND education.type = "Computer Science" 
+0

機能しません。ユーザーテーブルは1つの巨大なテーブルで、フィールドはデータの配列である教育です。その配列のデータをFQL経由で個別にアクセスできますか?これは、ドキュメントからの教育用配列の説明です。education \t array \t ユーザーの教育履歴のリスト。年フィールドと型フィールド、学校オブジェクト(名前、ID、タイプ、およびオプションの年、度、濃度配列、クラス配列、配列)が含まれます。 – buttonitup

0

、仕事であるかが、このような何かにあなたのFQLクエリを追加しようとしません。質問に答えることは非常に遅いですが、それは誰かを助けるでしょう。それがこの質問に答える理由です。

私たちはfacebookによって与えられた結果セットを解析する必要があります。 Facebookはそれを確認することはできません。

$freinds_list=$facebook->api(array('method'=>'fql.query', 
        'query'=>"SELECT uid, name, education_history 
         FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $user) ORDER BY name")); 

      $i=0; 

      foreach($freinds_list as $friend) { 
       $j=0; 
       $connection=0; 
       foreach($friend['education_history'] as $education) { 
        if(strstr($education['type'],'Computer Science')) { 
         $user[$i]=$friend['name']; 
         $i++;       
        } 
        $j++; 
       } 
      } 
関連する問題