Я пытаюсь загрузить поддельные данные с помощью пакета hautelook / AliceBundle для проекта symfony4.Все работает отлично, кроме случаев, когда я пытаюсь использовать:
frequency: 35%? <numberBetween(0.1,20)>
Тогда в 35% случаев параметр частоты будет нулевым, как и ожидалось, но затем, когда я загружаю приборы, я получаю:
In SimpleObjectGenerator.php line 114:
An error occurred while generating the fixture "graphic_card_1" (App\Entity\GraphicCard): Invalid value given for the property "brand" of the object "graphic_card_1" (class: App\Ent
ity\GraphicCard).
In HydrationExceptionFactory.php line 67:
Invalid value given for the property "brand" of the object "graphic_card_1" (class: App\Entity\GraphicCard).
In PropertyAccessor.php line 197:
Expected argument of type "string", "NULL" given at property path "brand".
Вот соответствующая часть моего файла приборов:
App\Entity\GraphicCard:
graphic_card_{1..15}:
brand: 60%? <randomElement(['AMD','Nvidia'])>
model: <shuffle('hellosdfff787hx-')>
ram: 40%? <numberBetween(0.1,128)>
frequency: 35%? <numberBetween(0.1,20)>
product: '@product_pc_<current()>'
Вот моя сущность GraphicCard:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\GraphicCardRepository")
*/
class GraphicCard
{
/**
* @var int
*
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $brand;
/**
* @var string
*
* @ORM\Column(type="string", length=255)
*/
private $model;
/**
* @var integer
*
* @ORM\Column(type="integer", nullable=true)
*/
private $ram;
/**
* @var integer
*
* @ORM\Column(type="integer", nullable=true)
*/
private $frequency;
/**
* @var Product
*
* @ORM\ManyToOne(targetEntity="App\Entity\Product", inversedBy="graphicCards")
* @ORM\JoinColumn(nullable=false)
*/
private $product;
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @return string|null
*/
public function getBrand(): ?string
{
return $this->brand;
}
/**
* @param string $brand
* @return $this
*/
public function setBrand(string $brand): self
{
$this->brand = $brand;
return $this;
}
/**
* @return string|null
*/
public function getModel(): ?string
{
return $this->model;
}
/**
* @param string $model
* @return $this
*/
public function setModel(string $model): self
{
$this->model = $model;
return $this;
}
/**
* @return int|null
*/
public function getRam(): ?int
{
return $this->ram;
}
/**
* @param int|null $ram
* @return $this
*/
public function setRam(?int $ram): self
{
$this->ram = $ram;
return $this;
}
/**
* @return int|null
*/
public function getFrequency(): ?int
{
return $this->frequency;
}
/**
* @param int $frequency
* @return $this
*/
public function setFrequency(int $frequency): self
{
$this->frequency = $frequency;
return $this;
}
/**
* @return Product
*/
public function getProduct(): Product
{
return $this->product;
}
/**
* @param Product $product
* @return GraphicCard
*/
public function setProduct(Product $product): self
{
$this->product = $product;
return $this;
}
}
Что не так?Что я должен изменить?Спасибо.