首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FactoryMuffin定义中的空值

FactoryMuffin定义中的空值
EN

Stack Overflow用户
提问于 2014-11-14 07:31:22
回答 1查看 278关注 0票数 1

我使用PhPUnit、FactoryMuffin费克在Laravel上使用PostgreSQL db进行测试。在以前版本的FactoryMuffin (Zizaco\FactoryMuff)中,我可以为静态工厂数组中的列和调用FactoryMuff::create的列分配空值。

但是,如果我使用以下定义,这将不再有效:

代码语言:javascript
复制
FactoryMuffin::define('MyModel', array(
    'name' => 'word',
    'empty' => null,
    'another' => 'word'
));

当我调用FactoryMuffin::create而不是将NULL传递给statement语句时,它将值保留为空白,因此我得到:

代码语言:javascript
复制
INSERT INTO my_table ("name", "empty", "another") VALUES ('Ralph', , 'Someone');

PGSQL不允许。同样的事情发生在

代码语言:javascript
复制
FactoryMuffin::create('MyModel', array('empty' => null));

除了实例化模型,然后将null赋值给字段之外,还有什么想法可以绕过这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-24 00:38:56

由于FactoryMuffin 2.1 (和3.*)可以利用回调功能,例如:

代码语言:javascript
复制
FactoryMuffin::define('MyModel', array(
  'name' => 'word',
  'empty' => null,
  'another' => 'word'
))->setCallback(function ($object, $saved) {
  $object->empty = null;
});

在FactoryMuffin 2.1中,回调被设置为定义的第三个参数:

代码语言:javascript
复制
FactoryMuffin::define('MyModel', array(
  'name' => 'word',
  'empty' => null,
  'another' => 'word'
), function ($object, $saved) {
  $object->empty = null;
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26925035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档