Mar*_* Yo 4 collections boolean laravel eloquent
我的数据库中有 33 个结果,其中这个布尔字段 (resolvido) 显示为零,如果我运行 SQL 查询,它会检索结果,但是在模型中,集合总是为空。
如果我更改为Model::where('resolvido',1)->get(),我确实会得到相应的结果,但是Model::where('resolvido',0)->get()或Model::where('resolvido',false)->get()甚至使用查询生成器和原始 sql,该集合永远不会在resolvido = 0.
我也尝试过 Tinker,但它总是空的。
移民:
$table->boolean('resolvido')->nullable();
Run Code Online (Sandbox Code Playgroud)
在 DB 上显示为 TINYINT
关于它可能是什么的任何提示?
提前致谢
当然,MySQL 没有布尔数据类型,而是使用TINYINT(0 或 1)。
Laravel 的查询生成器允许在 where 子句中使用布尔值。您可能想尝试这些:
Model::where('resolved', true)->get();
Model::where('resolved', false)->get();
Run Code Online (Sandbox Code Playgroud)
由于您已将resolved数据库中的列设置为nullable,您可能还想尝试:
Model::where('resolved', null)->get();
Run Code Online (Sandbox Code Playgroud)
如果您不希望出现这种行为,请$table->boolean('resolved')->default(false)改用
| 归档时间: |
|
| 查看次数: |
18606 次 |
| 最近记录: |