Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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/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
Php 条令-通过关系Symfony3发现一个新实体_Php_Symfony_Doctrine - Fatal编程技术网

Php 条令-通过关系Symfony3发现一个新实体

Php 条令-通过关系Symfony3发现一个新实体,php,symfony,doctrine,Php,Symfony,Doctrine,我有桌子类型和桌子木质。 lignePanier表中的列类型_id是一个外键,它引用lignePanier表中的id 我设置的关系是,一个类型可能有许多木质纸。我已经创建了这两个表的实体 另外,我有一个桌板,它可能有许多木质烤盘 我的目标是将现有的类型添加到现有的lignePanier 并保存在数据库中 这是我的类型实体: /** * One type has Many lignesPanier. * @ORM\OneToMany(targetEntity="EK\EcommerceBun

我有桌子类型和桌子木质。 lignePanier表中的列类型_id是一个外键,它引用lignePanier表中的id

我设置的关系是,一个类型可能有许多木质纸。我已经创建了这两个表的实体

另外,我有一个桌板,它可能有许多木质烤盘

我的目标是将现有的类型添加到现有的lignePanier 并保存在数据库中

这是我的类型实体:

 /**
 * One type has Many lignesPanier.
 * @ORM\OneToMany(targetEntity="EK\EcommerceBundle\Entity\lignePanier", mappedBy="type" , cascade={"persist"} )
 */

private $lignesPanier;
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;

/**
 * @var float
 *
 * @ORM\Column(name="montant", type="float", nullable=true)
 */
private $montant;


/**
 * @var integer
 *
 * @ORM\Column(name="num_article", type="integer", nullable=true)
 */
private $numArticles;

/**
 * @var string
 *
 * @ORM\Column(name="numero", type="string", length=255 , nullable=true)
 */
 private $numero;

/**
* @ORM\OneToMany(targetEntity="EK\EcommerceBundle\Entity\lignePanier", mappedBy="panier" , cascade={"persist"})
*/
private $lignesPanier; 
这是我的木质面板实体:`

/**
 * Many lignes panier have One type.
 * @ORM\ManyToOne(targetEntity="EK\PlateformeBundle\Entity\Type", 
 inversedBy="lignesPanier" )
 * @ORM\JoinColumn(name="type_id", referencedColumnName="id")
 */

private $type;`
以下是Panier实体:

 /**
 * One type has Many lignesPanier.
 * @ORM\OneToMany(targetEntity="EK\EcommerceBundle\Entity\lignePanier", mappedBy="type" , cascade={"persist"} )
 */

private $lignesPanier;
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;

/**
 * @var float
 *
 * @ORM\Column(name="montant", type="float", nullable=true)
 */
private $montant;


/**
 * @var integer
 *
 * @ORM\Column(name="num_article", type="integer", nullable=true)
 */
private $numArticles;

/**
 * @var string
 *
 * @ORM\Column(name="numero", type="string", length=255 , nullable=true)
 */
 private $numero;

/**
* @ORM\OneToMany(targetEntity="EK\EcommerceBundle\Entity\lignePanier", mappedBy="panier" , cascade={"persist"})
*/
private $lignesPanier; 
在这里,我想在数据库中保存所有内容:

$user = $this->getUser();
$panier = $user->getPanier();

if ($this->get('session')->get('vehicule') != null )
{
    $type = $this->get('session')->get('vehicule');
    $lignePanier->setType($type);
}

$lignePanier->setPanier($panier);
$lignePanier->setPiece($piece);
$lignePanier->setPrix($prix);

$panier->addLignePanier($lignePanier);
$panier->setNumArticles($panier->getNumArticles() + $form->getData()->getQuantite() );


$montant = $panier->getMontant() + $prix ; 
$panier->setMontant($montant);


$em->flush();
我的代码不起作用,我得到了这个错误:

A new entity was found through the relationship 
'EK\EcommerceBundle\Entity\lignePanier#type' that was not configured to 
cascade persist operations for entity: Essence 1.6 i 90 cv Boite 
automatique. To solve this issue: Either explicitly call 
EntityManager#persist() on this unknown entity or configure cascade persist 
this association in the mapping for example @ManyToOne(..,cascade=
{"persist"}).

我试过这个代码,但我不明白为什么:

                $user = $this->getUser();
                $panier = $user->getPanier();

                if ($this->get('session')->get('vehicule') != null )
                {
                       $type = $this->get('session')->get('vehicule');
                       $Type = $em-
                       >getRepository('EKPlateformeBundle:Type')-
                       >find($type->getId());
                       $lignePanier->setType($Type); 
                }

                $lignePanier->setPanier($panier);
                $lignePanier->setPiece($piece);
                $lignePanier->setPrix($prix);

                $panier->addLignePanier($lignePanier);
                $panier->setNumArticles($panier->getNumArticles() +  
                $form->getData()->getQuantite() );

                $montant = $panier->getMontant() + $prix ; 
                $panier->setMontant($montant);


                $em->flush();

`

cascade={“persist”}位于错误的一侧,请尝试将其放在LignePanier实体中。我尝试了它,但出现了以下错误:注意:未定义索引:00000000 68FB94B5000007A524EEBIS Panier实体?你能给我们看看吗?是的,它是一个实体