【问题标题】:Unable to get records by join with where clause无法通过使用 where 子句连接获取记录
【发布时间】:2018-04-17 13:55:38
【问题描述】:

我有 2 张桌子。第一个用户第二个帖子。没有 where 子句我得到了所有用户的帖子,但我只想显示登录的用户数据。这是我的表格的表格结构。两个表都有 user.id = post.user_id 的共同值

First Table User            Second Table Post
ID                           id
NAME                         user_id
Username                     category_id
Password                     user_id
                             title
                             body

我的查询获取所有记录但未登录用户记录

public function get_posts(){
  $this->db->order_by('posts.id', 'DESC');
  $this->db->join('categories', 'categories.id = posts.category_id');
  $query = $this->db->get('posts');
  return $query->result_array();
}

【问题讨论】:

  • 你能用where子句分享查询吗?你试过了
  • 现在我没有那个查询
  • 你想用where子句获取数据对吧?

标签: php mysql codeigniter join


【解决方案1】:

希望对您有所帮助:

这里$user_id是登录用户的id应该从控制器传递给模型

public function get_posts($user_id)
{
   $this->db->select('*');
   $this->db->from('posts');
   $this->db->order_by('posts.id', 'DESC');
   $this->db->join('users', 'users.id= posts.user_id');
   $this->db->where('users.id',$user_id);
   $query = $this->db->get();
   return $query->result_array();
}

【讨论】:

    【解决方案2】:

    试试这个,

    public function get_posts()
    {
        $this->db->select('*');
        $this->db->from('posts');
        $this->db->join('users', 'users.id = posts.user_id');
        $this->db->join('categories', 'categories.id = posts.category_id');
        $this->db->order_by('posts.id', 'DESC');
        $query = $this->db->get();
        return $query->result_array();
    }
    

    【讨论】:

      【解决方案3】:

      您可以像这样使用它,只需将 $user_id 变量替换为您的动态帖子用户 ID 值

      $this->db->select('a.*');
      $this->db->from('user a');
      $this->db->join('post b', 'b.user_id = a.id', 'left');
      $this->db->where('a.id', $user_id);
      $data_array = $this->db->get()->result_array();
      return $data_array ;
      

      希望这对您有所帮助....

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-18
        • 2014-03-09
        • 2016-06-09
        • 1970-01-01
        • 1970-01-01
        • 2017-10-14
        • 2018-06-03
        • 1970-01-01
        相关资源
        最近更新 更多