1

我正在升级一个旧数据库,250k+ 条记录,其中一些(1k)带有(mysql8)非法 0000-00-00 日期值。我打算用 NULL 替换它们,但是 Laravel 出于某种原因无法检索这些记录。我做了几个实验:

  1. Profile::where('birth_date', '0000-00-00')->get();-> 0 个结果
  2. Profile::whereIn('birth_date', ['0000-00-00'])->get();-> 0 个结果
  3. Profile::whereRaw('birth_date = 0000-00-00')->get();-> 工作正常

现在,我正在使用#3,但我很好奇为什么#1 不起作用,#2 也不起作用。当然,自定义日期在所有情况下都可以正常工作,与 PMA 中的原始 sql 查询相同。

列的类型birth_datedate。使用 MySQL 8、Laravel 8 和 PHP 8。谢谢

4

0 回答 0