Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter活动记录联接_Php_Codeigniter_Activerecord - Fatal编程技术网

Php CodeIgniter活动记录联接

Php CodeIgniter活动记录联接,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,当我尝试左连接时,Codeigniter的活动记录似乎没有获取我的所有行 数据库设置(简化) 当我根据“things”表按用户_id获取列表时,我得到了预期的结果4 $sql = $this->db->where('things.user_id', $user_id)->get('things')->result(); 但当我这样做的时候,我得到了3(事情2,3和4) 我很困惑,因为它确实抓取了一个不在“like”表中的“thing”,但另一个不在其中,所以我很困惑

当我尝试左连接时,Codeigniter的活动记录似乎没有获取我的所有行

数据库设置(简化)

当我根据“things”表按用户_id获取列表时,我得到了预期的结果4

  $sql = $this->db->where('things.user_id', $user_id)->get('things')->result();
但当我这样做的时候,我得到了3(事情2,3和4)

我很困惑,因为它确实抓取了一个不在“like”表中的“thing”,但另一个不在其中,所以我很困惑它是连接失败还是其他原因


解决:通过将分组方式从“喜欢.东西id”切换到“东西.东西id”通过将分组方式从
喜欢.东西id
切换到
东西.东西id
来解决

我对3个项目的结果是将其分组为
第2项
第3项
,而
likes
表中没有的2个项目被分组为

  $sql = $this->db->where('things.user_id', $user_id)->get('things')->result();
  $sql = $this->db->select('things.thing_id as thing_id, COUNT(likes.thing_id) as likes')
                    ->where("things.user_id", $user_id)
                    ->from('things')
                    ->join('likes', 'things.thing_id = likes.thing_id', 'LEFT')
                    ->group_by('likes.thing_id')
                    ->get()
                    ->result();