学说 2:doctrine:fixtures:load 意外警告

Doctrine 2: doctrine:fixtures:load unexpected warning

我正在使用 nelmio/alice 包加载 yaml 文件。

在包含多对多关系的第二个实体时出现奇怪的行为。当 运行 加载命令时它会抛出警告:

[Symfony\Component\Debug\Exception\ContextErrorException] Warning: copy(http://lorempixel.com/640/480/?35984): failed to open stream: Impossible to estabilish connection..

yaml文件代码如下:

AppBundle\Entity\ComponentInstance:
    componentInstance_{1..30}:
      componentCode: <componentInstanceCode()>
      componentId: <numberBetween(1,50)>
      sectionInstance: '@sectionInstance_*'
      date: <datetime()>
      images: '@componentImage_{1..2}'

AppBundle\Entity\ComponentImage:
    componentImage_{1..4}:
      imageName: <name()>
      imagePath: <image()>
      imageAlt: <text()>
      width: <numberBetween(100,500)>
      height: <numberBetween(100,500)>
      components: '@componentInstance_{1..2}'

当我对 ComponentImage 部分发表评论时,它可以正常工作。 在整个项目中没有那个 url 的踪迹。

image()函数如下:

public function images()
    {
      $genera = [
          '/images/color_pencils.jpg',
          '/images/half_color_pencils.jpg',
          '/images/rainbow_wood.bmp',
          '/images/color_smoke.jpg'
      ];
      $key = array_rand($genera);
      return $genera[$key];
    }

有什么建议吗?

问题是几个因素的混合。

我计算错了

imagePath: <image()>

而不是<images()>

第二个也是更令人困惑的一点是 <image()> 是 nelmio/alice 包的保留关键字,它会自动生成一个 url 到 http://lorempixel.com

通过调用正确的函数,它可以正确加载数据