paginate_by_sql与find_by_sql有个不同,就是对于%的使用。
DATE_FORMAT(goods.transaction_date, '%Y-%m-%d')这种写法在find_by_sql中没有问题,但是对于paginate_by_sql,会报错:malformed format string - %Y。
[b]解决方法[/b]
把%改为两个:
DATE_FORMAT(goods.transaction_date, '%%Y-%%m-%%d')
[color=red]
纠正一下这个问题:发现有时候需要加两个%,有时候不需要,真是怪异。[/color]
DATE_FORMAT(goods.transaction_date, '%Y-%m-%d')这种写法在find_by_sql中没有问题,但是对于paginate_by_sql,会报错:malformed format string - %Y。
[b]解决方法[/b]
把%改为两个:
DATE_FORMAT(goods.transaction_date, '%%Y-%%m-%%d')
[color=red]
纠正一下这个问题:发现有时候需要加两个%,有时候不需要,真是怪异。[/color]
本文探讨了在使用paginate_by_sql进行分页查询时遇到的关于百分号(%)的特殊处理方式。通常,在find_by_sql中可以直接使用DATE_FORMAT(goods.transaction_date,'%Y-%m-%d')这样的日期格式化语句,但在paginate_by_sql中则需要将百分号(%)转义为%%。然而,在某些情况下,可能需要使用两个%%,这增加了使用的复杂性和不确定性。
1777

被折叠的 条评论
为什么被折叠?



