【问题标题】:Laravel query with date not working on the server but working good on localhost?带有日期的 Laravel 查询在服务器上不起作用但在本地主机上运行良好?
【发布时间】:2015-03-24 08:04:05
【问题描述】:

->whereBetween('date', array( '2015-3-01', '2015-3-31' )) 不在服务器上工作,但在本地主机上工作良好,我在两者上都有相同的 MySQL 数据。

我已经测试直接在 phpMyadmin(服务器和本地主机)上执行查询 (date between '2015-3-01' and '2015-3-31') 并且它工作正常,

【问题讨论】:

  • 它在什么方面不起作用?它会出错吗?它会返回不正确的结果吗?它不返回任何结果吗?
  • 在 config/database.php 中启用调试日志以将正在执行的实际查询写入日志....或尝试将 DateTime/Carbon 对象作为日期而不是字符串传递
  • 它不返回任何结果。我在 phpMyadmin 上使用来自 invoices 的选择小计进行测试,其中 user_id = '4' 和 status = 'paid' 和 date 在 '2015-3-01' 和 '2015-3-31' 之间并返回真实值,但来自 laravel 控制器 DB::select("从 invoices 中选择小计,其中 user_id = '4' 和 status = 'paid' 和 date 在 '2015-3-01' 和 '2015 之间-3-31'");什么都不返回。
    调试没有错误
  • 您是否尝试过在 config/database.php 中启用调试以查看实际正在执行的查询?
  • 是的,查询是对的,但是在网站上没有结果,但是在数据库上同样的查询返回真值

标签: php mysql date laravel


【解决方案1】:

我发现了问题,对于 ('2015-3-01' 和 '2015-3-31') 应该使用 ('2015-03-01' 和 '2015-03-31')。奇怪但工作。谢谢大家!

【讨论】:

    猜你喜欢
    • 2020-02-25
    • 2018-12-04
    • 1970-01-01
    • 2018-03-17
    • 2018-05-24
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多