繁体   English   中英

将查询Codeigniter与条件返回所有行的联接

[英]Join query codeigniter with where condition returns all rows

这是我的联接查询,用于从两个表中获取数据。

$this->db->select('*');
$this->db->from('george_hotel_bkd_customers');
$this->db->where('george_hotel_bookings.bookingref',$ref);
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id');    
$query = $this->db->get();

根据我的where条件,它仅返回一行,但它将返回所有符合联接条件的行。

好像我的条件在这里不执行。

请帮我

$ ref =是什么,应该大致提取多少个结果? 省略位置会得到什么? 如果得到完整的结果,则一定是$ ref值有问题,或者就是结果。

请注意,您不需要选择(*),这是默认设置,如果这只是出于示例的原因,对不起。 您还可以将-> from(whaterver_table)添加到-> get(whatever_table)中。无论如何,您都需要添加-> get(),所以为什么不删除-> from()行,只是选择了可读性,但是我做到了不知道您可以做一会儿,所以以为id将其添加到我的答案中。

或另一个解决问题的途径是联接是否应该作为第三个参数“左”。 IE浏览器总是有联接吗?

正如Anant所建议的那样,更改语句中的位置或联接不会有任何区别。

$this->db->select('*');
$this->db->from('george_hotel_bkd_customers');
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id');
$this->db->where('george_hotel_bookings.bookingref',$ref);
$query = $this->db->get();

永远在最后

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM