【问题标题】:Laravel SQLite Default Value to a fieldLaravel SQLite 字段的默认值
【发布时间】:2018-07-02 14:13:37
【问题描述】:

好的,我遇到了这个问题:

我在我的迁移中设置了一个带有默认值的布尔属性:

$table->boolean('is_public')->default(1);

它在我的初始数据库 MySQL 上运行良好。我迁移了数据库并手动插入,它被插入为 true。

但问题是,当我运行在内存数据库中配置了 sqlite 的测试时,没有添加默认值。所以这个断言:

$this->assertEquals($league->is_public, 1);

...在不应该的时候失败了。

有人知道我错过了什么吗?我是否必须添加更多内容才能将默认值添加到数据库中,或者这是某种sqlite 问题?

【问题讨论】:

  • dd($league->is_public) 显示了什么?
  • 它在我的测试中显示null
  • dd($league) 显示了什么?
  • 显示创建的联赛。联盟是使用名称和其他必需属性创建的,没有默认值。
  • 所以,它显示了League 对象,其中is_publicnull?请说明您在测试中究竟是如何创建对象的。

标签: laravel sqlite phpunit migration


【解决方案1】:

将您的迁移更改为此。

$table->boolean('is_public',true);

【讨论】:

  • boolean() 方法没有第二个参数。
  • 我不确定它不会,但如果它不只是将 '1' 更改为 'true' 并且它应该可以工作
猜你喜欢
  • 2021-12-11
  • 2017-08-28
  • 1970-01-01
  • 1970-01-01
  • 2018-06-29
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
相关资源
最近更新 更多