0

評判と投稿の 2 つの異なるテーブルがあります。投稿には、post_id、user_id、post_content などの関連する詳細があります。REPUTATION には、post_id や user_id などの詳細があります。テーブルにペアが存在する場合、post_id は user_id によって +1 されています。

私のホームページでは、ページネーションを使用して 5 つの投稿/ページを表示し、POSTS テーブルからのみ取得しています。さらに、$_SESSION の「user_id」の REPUTATION テーブルから「post_id」をフェッチしようとしています。

public function index()
{
    $this->load->model('themodel');
    $this->load->library('pagination');
    $config['base_url'] = site_url('trial/index');
    $config['total_rows'] = $this->themodel->total_rows('posts');
    $config['per_page'] = 5;
    //$config['display_pages'] = FALSE;
    $this->pagination->initialize($config);

    $offset = $this->uri->segment(3);

    $data['details'] = $this->themodel->list_posts($config['per_page'], $offset);

    $data['links'] = $this->pagination->create_links();


    //Check for session and load the reputation data
    if($this->session->userdata('loggedIn') && $this->session->userdata('user'))
    {
        //fetch reputation by user
        $data['repbyuser'] = $this->themodel->getrepbyuser();
    }

    $this->load->view('home_view', $data);

}

モデル部分:

public function list_posts($limit, $start)
{
    $this->db->select('post_id, user_id, post_title, post_content, total_reputation, post_time, total_reviews');
    return $this->db->get('posts', $limit, $start)->result_array();
}

public function getrepbyuser()
    {
        $this->db->select('post_id');
        $this->db->where('user_id', $this->session->userdata('user'));
        $result = $this->db->get('reputation');
        if($result->num_rows() > 0)
            return $result->result_array();
    }

現在、ホームページで配列をトラバースして$detailsいますが、両方のテーブルの結果を一致させる方法がわかりません。

私が何か間違ったことをしている場合は、ガイドしてください。任意の提案をいただければ幸いです。

4

1 に答える 1