[英]Query return empty when Left Join table is empty in codeigniter
我在MySql 7.5中使用Codeigniter。 我有一个查询,当左联接表为空时,它总是返回空。
$this->db->select('shop.id as shop_id, shop.shop_name, rg.rating');
$this->db->from('shop');
$this->db->join('booking as bh', 'bh.shop_id = shop.id', 'left');
$this->db->join('rating rg', 'rg.booking_id = bh.id', 'left');
$this->db->group_by("bh.id");
$this->db->order_by("bh.id", "desc");
在这里,我在预订表和商店表中有条目,但评分表为空。 但是我没有得到任何结果。
如果我从选择中删除rg.rating
,它将返回正确的结果。
我有想念吗? 谢谢
尝试这个-
$this->db->select('shop.id as shop_id, shop.shop_name, rating.rating');
$this->db->join('booking', 'booking.shop_id = shop.id', 'left');
$this->db->join('rating', 'rating.booking_id = booking.id', 'left');
$this->db->group_by("booking.id");
$this->db->order_by("booking.id", "desc");
return $this->db->get('shop');
$this->db->select('s.id as shop_id, s.shop_name, r.rating');
$this->db->from('shop s');
$this->db->join('booking bh', 'bh.shop_id = shop.id');
$this->db->join('rating r', 'r.booking_id = bh.id');
$this->db->group_by("bh.id");
$this->db->order_by("bh.id", "desc");
$qry = $this->db->get();
echo $this->db->last_query();
print_r($qry->result_array()); exit;
回复您的输出。 同时更改config / database.php
'db_debug' => TRUE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.