douduanque5850 2017-03-28 15:21
浏览 20
已采纳

CodeIgniter查询不会返回正确的数据

So I have two tables customers and agenda

What I'm trying to get is all customers for user_id and their next appointment.

This is how far I got , but this keeps returning a wrong date

        $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()));

Here is a screenshot of the results

image

All these dates should be in the future otherways it should return NULL

Note : another small thing that might be causing this is that no matter how I join "left" "right" "inner" It keeps returning exactly the same results.

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • dongmi4035 2017-03-28 15:26
    关注

    You need to quote your date in your query.

    $this->db->join('agenda a', 'a.customer_id = c.customer_id AND a.date > "'.$today.'"', 'left');
    

    Otherwise your date will be interpreted as a number, such as 2017-03-28 or 1986 (since that's what you get when you subtract).

    You can also do:

    $this->db->join('agenda a', "a.customer_id = c.customer_id AND a.date > '{$today}'", 'left');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测