【问题标题】:Kohana Query Builder support for DATEDIFF?Kohana 查询生成器是否支持 DATEDIFF?
【发布时间】:2011-01-20 18:39:51
【问题描述】:

据此:http://docs.kohanaphp.com/libraries/database/builder#limitations Kohana 不支持数据库查询中的括号。我该如何解决这个问题以将其添加到我的查询中:

WHERE DATEDIFF(`date`, $today) = 0

【问题讨论】:

    标签: sql mysql kohana-3


    【解决方案1】:

    你可以使用DB::expr或者使用双引号:

    $query->where('DATEDIFF("date", '.$today.')", '=', 0);
    

    注意$today在使用前必须经过验证或转义!

    【讨论】:

    • 从 v3.0.10 开始,您还可以这样做:->where('DATEDIFF("date", :today)', '=', 0)->param(':today', $today) 自动引用“today”的值。
    • 我发现使用 ->param(':today', $today) 非常有用,谢谢!
    【解决方案2】:

    我想通了:

      $this->qualifiers[] = array(DB::expr("DATEDIFF(`date`, '$today')"),'=',0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 2014-07-25
      相关资源
      最近更新 更多