【问题标题】:Laravel wherebetween doesn't accept negative numbersLaravel wherebetween 不接受负数
【发布时间】:2013-10-05 00:16:45
【问题描述】:

有没有用 laravel 在数据库中找到一系列负数?上面的语句没有正确执行我的查询。它一直返回null。

  $userprofile = $userprofile->whereBetween('unix_birthyears', array(-100,-50))->get();

感谢您的帮助。

【问题讨论】:

  • 您的代码中缺少一个括号。浏览Laravel-4 Advanced Wheres 调用链的末尾不应该有一个 get() 吗?
  • 已编辑。在我的代码中,我确实在末尾有 get()

标签: php mysql activerecord laravel laravel-4


【解决方案1】:

请注意,如果您的 DB 字段不是 int,则查询值将被视为字符串,反之亦然,所以也许这需要测试。

你可以试试:

->where(DB::raw('`unix_birthyears` BETWEEN -100 AND -50'),true)->get();

【讨论】:

  • 我的数据库字段是 var 所以将其更改为 int 工作谢谢。但是,我正在存储超过 11 位的 unix 时间戳。我将我的数据库字段切换到 BigInt。这是最佳实践吗?再次感谢
  • 如果您要进行日期时间比较,它当然应该是时间戳,但对于一般数字比较,是 int / bigint 等,具体取决于您需要可用的范围大小。
  • @alou 有什么雄辩的方式吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-27
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 2022-07-06
相关资源
最近更新 更多