Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在symfony2中持久化之前设置列值?_Php_Symfony_Symfony 2.6 - Fatal编程技术网

Php 如何在symfony2中持久化之前设置列值?

Php 如何在symfony2中持久化之前设置列值?,php,symfony,symfony-2.6,Php,Symfony,Symfony 2.6,假设我必须将列值公式设置为1。那么,在坚持之前,我该怎么做呢。在持久化之后,我应该在数据库中得到1 $f=1; $product->setFormula($f); $em->persist($product); 如果我使用上面的行,它会给出一个错误 的“Nimo\MrmdBundle\Entity\Product”类型的预期值 获取关联字段“Nimo\MrmdBundle\Entity\Product#$basedOn” 改为“整数” 这是实体代码 /** * @ORM\

假设我必须将列值公式设置为1。那么,在坚持之前,我该怎么做呢。在持久化之后,我应该在数据库中得到1

 $f=1;
 $product->setFormula($f);
 $em->persist($product); 
如果我使用上面的行,它会给出一个错误

的“Nimo\MrmdBundle\Entity\Product”类型的预期值 获取关联字段“Nimo\MrmdBundle\Entity\Product#$basedOn” 改为“整数”

这是实体代码

/**
 * @ORM\ManyToOne(targetEntity="Product")
 * @ORM\JoinColumn(name="formula", referencedColumnName="someothercolumn",nullable=true)
 **/
private $formula = null;

您必须首先更正实体定义,但以下是您需要在控制器中执行的操作。在确保正确定义实体之前,此操作将不起作用。(我不能,因为我不知道您的实体定义)


在两个实体之间创建关系时,不能传递单个值或包含单个值的变量


实体在对象上工作。因此,尝试传递某个实体的对象,或者创建一个具有某个值的对象,这将起作用。我在传递单个值时也会遇到相同的错误。只需传递一个实体的对象关系注释,就会拾取其他实体的连接列

显示您的实体类。我已在上面添加了实体代码。请参见,您需要持久化类型为
$formula
的实体,而不是持久化类型为整数的实体。我没有类型为formula的实体,那么您引用它的是什么?什么是
someothercolumn
$f=1;
$em = $this->container->get('doctrine.orm.entity_manager');
$repo = $em->getRepository('AppBundle:Formula'); //This should be your referred entity
//You can also do findOneByName below
$formula= $repo->findOneById($id); //This should be the primary key of the referred entity NOT 1
$formula->setFormula($f);
$em->persist($formula);