循环通过Facebook的朋友在数据库中查找匹配,facebook api

时间:2013-07-18 10:50:05

标签: php facebook-sdk-3.0

我已经使用facebook登录,如果用户尚未添加,则会将用户添加到我的数据库中。我想展示已注册我的应用程序的其他facebook朋友(刚刚注册的当前用户)..我试图通过使用$ this-> facebook->循环访问Facebook好友来做到这一点。 api('/ me / friends')并在我的数据库中找到匹配项(通过id)并将它们存储在发送到视图的数组中(代码点火器)

但到目前为止,我还没有能够如此轻松地遍历用户朋友。它不断提出,

未定义的索引:id

这是我的代码:

仪表板控制器:

public function index() {
        if ($this->user) {
            try{
                $data['user_profile'] = $this->facebook->api('/me');
                $data['friends_list'] = $this->Users_Model->get_friends_on_drimmly($this->facebook->api('/me/friends'));

            } catch(FacebookApiException $e) {
                error_log($e);
                $this->user = null;
            }
        }
        $data['logout'] = $this->facebook->getLogoutUrl(array('next' => base_url().'login/logout'));
        $this->load->view('dashboard', $data);
    }

users_model:

public function get_friends_on_drimmly($user_friends) {
    $return_array = array();

    foreach ($user_friends as $friend => $row) {

        $query = $this->db->select()->from('users')->where('id', $row['id'])->get();
        if ($query->num_rows() != 0){
            foreach ($query->result_array() as $result => $row) {
                $return_array[] = array(
                    'name' => $row['full_name'],
                    'id' => $row['id']
                );
            }
        }
     }
    return $return_array();
}

更新:print_r($ user_friends):

Array ( [data] => Array ( [0] => Array ( [name] => Daniella Caspers [id] => 6710741 ) [1] => Array ( [name] => Alex Dos Santos [id] => 10029005 )....

1 个答案:

答案 0 :(得分:1)

使用$user_friends数据,您需要将foreach调整为:

foreach ($user_friends['data'] as $row) {