我正在尝试在我的数据库中加载一些灯具,由于教条错误,我会变得疯狂。就是这样:
[Symfony \ Component \ Debug \ Exception \ ContextErrorExce ption] Catchable 致命错误:参数1传递给 TuzonaBundle \ Entity \ Ciudades :: setProvincias()必须是。的实例 TuzonaBundle \ Entity \ Provincias,给出的字符串,调用 第141行的/httpdocs/src/TuzonaBundle/DataFixtures/ORM/Ciudad.php和 定义
如您所见,问题非常具体。问题是我没有被赋予setProvincias()'正确的数据类型。我猜正确的数据类型是一个整数,但它并没有像那样工作......我尝试了一个字符串,结果相同。
代码如下
TuzonaBundle \实体\ Ciudades.php
class Ciudades
{
/**
* @ORM\ManyToOne(targetEntity="Provincias", inversedBy="ciudades")
* @ORM\JoinColumn(name="id_provincia", referencedColumnName="id")
*/
protected $provincias;
/**
* Set provincias
*
* @param \TuzonaBundle\Entity\Provincias $provincias
* @return Ciudades
*/
public function setProvincias(\TuzonaBundle\Entity\Provincias $provincias = null)
{
$this->provincias = $provincias;
return $this;
}
}
TuzonaBundle \实体\ Provincias
class Provincias
{
/**
* @ORM\OneToMany(targetEntity="ciudades", mappedBy="provincias")
*/
protected $ciudades;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
}
答案 0 :(得分:0)
看起来问题的关键在于你的话:
我猜正确的数据类型是一个整数,但它不起作用 那...我尝试了一个字符串,结果相同
不,它不是整数。
你应该打电话给" setProvincias"使用Provincias数据类型的对象。 因此,如果您通过灯具加载数据,则应创建一些Provincias灯具,例如
ProvinciasData.php
--help
CiudadesData.php
public function load(ObjectManager $manager)
{
$province = new \YourApp\TuzonaBundle\Entity\Provincias();
$this->addReference('YourApp\TuzonaBundle\Entity\Provincias-1', $province);
$manager->persist($province);
$manager->flush();
}