所以我有两个表customers
和agenda
我想要获得的是user_id的所有客户以及他们的下一次约会。
这是我得到了多远,但这仍然是错误的日期
$today = date("Y-m-d");
$this->db->select('c.firstname,c.lastname,a.date as next_appointment');
$this->db->from('customers c');
$this->db->join('agenda a','a.customer_id = c.customer_id AND a.date > '.$today.'','left');
$this->db->where('c.user_id', $user_id, FALSE);
$this->db->group_by('c.customer_id');
$this->db->order_by('c.firstname', 'asc');
$Q = $this->db->get();
die(json_encode($Q->result_array()));
以下是结果的屏幕截图
所有这些日期应该在未来,否则它应该返回NULL
注意:可能导致此问题的另一个小问题是,无论我如何加入"left"
"right"
"inner"
它都会返回完全相同的结果。
提前致谢。
答案 0 :(得分:0)
您需要在查询中引用您的日期。
$this->db->join('agenda a', 'a.customer_id = c.customer_id AND a.date > "'.$today.'"', 'left');
否则,您的日期将被解释为一个数字,例如2017-03-28
或1986
(因为这是您减去时得到的数据)。
你也可以这样做:
$this->db->join('agenda a', "a.customer_id = c.customer_id AND a.date > '{$today}'", 'left');