从数据透视表中获取值

时间:2017-04-14 09:11:46

标签: php mysql codeigniter

我正在建立一个社交网络类型的网站,我添加了一个关注按钮。点击按钮,用户ID和朋友ID存储在数据库中,现在我想检索用户关注的那些人的价值.so我正在使用session来获取user_id并将其传递给model以获取正在关注的那些用户的id。 我的模特是

public function display_following($user_id)
{
    $this->db->select('username,country,designation');
    $this->db->from('user_login');

    $this->db->join('friends','friends.friend_id=user_login.id');
    $query=$this->db->get();
    if($query->num_rows()>0){
        return $query->result();
    }else{
        return false;
    }
}

基本上我要求正在关注的用户的内容,所以我比较user_id和获取friend_id,然后从这些人的user_login表中获取数据。我的控制器是

public function display_following(){
    $user_id = $this->session->userdata['logged_in']['id'];
    $this->load->model('Main_Model');
    $this->Main_Model->display_following($user_id);
    $following=$this->Main_Model->display_following();
    $this->load->view('following',$following);
}

严重性:警告

  

消息:缺少Main_Model :: display_following()的参数1,   在/opt/lampp/htdocs/ask/application/controllers/Main.php上调用   第110行和定义

     

文件名:models / Main_Model.php

     

行号:42

2 个答案:

答案 0 :(得分:0)

$user_id中传递display_following function,然后删除刚刚调用此函数的行,

public function display_following(){
    $user_id = $this->session->userdata['logged_in']['id'];
    $this->load->model('Main_Model');
    ///$this->Main_Model->display_following($user_id);// comment/remove this line
    $following=$this->Main_Model->display_following($user_id); // pass $user_id in display_following()
    $this->load->view('following',$following);
}

答案 1 :(得分:0)

在调用函数时,您忘记将参数$ user_id作为参数传递

$following=$this->Main_Model->display_following();

替换为

$following=$this->Main_Model->display_following($user_id);