symfony 2.5 many to one relation foreign key null











up vote
0
down vote

favorite












i have two entities produit entity and avis with a many to one relation one product can have many avis but when i try to save a comment the field produit_id stay null. i have well configured the relation i think that i have a problem in the controller.



this is my controller add avis action:



public function addAction(Request $request){
$em =$this->getDoctrine()->getManager();
$produit=$em->getRepository('redeBundle:produit')->findAll();
$avis = new avis();
$avis->setCreatedAt(new DateTime('now'));
$form = $this->createForm(new avisType(), $avis);
$form -> handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$avis->setProduit($produit);
$em->persist($avis);
$em->flush();
return $this->redirect($this->generateUrl('produit_page'));
}

$formView=$form->createView();

return $this->render('myBundle:avisAdd.html.twig',
array('form'=>$formView));

}


this is my entity avis



class avis {

/**
* @var produit
*
* @Assertvalid()
*
* @ORMManyToOne(targetEntity="redemarocredeBundleEntityproduit",
cascade={"persist"})
* @ORMJoinColumn(nullable=false)
*
*
*/
private $produit;

...
}


can someone help me resolve that ?!










share|improve this question


























    up vote
    0
    down vote

    favorite












    i have two entities produit entity and avis with a many to one relation one product can have many avis but when i try to save a comment the field produit_id stay null. i have well configured the relation i think that i have a problem in the controller.



    this is my controller add avis action:



    public function addAction(Request $request){
    $em =$this->getDoctrine()->getManager();
    $produit=$em->getRepository('redeBundle:produit')->findAll();
    $avis = new avis();
    $avis->setCreatedAt(new DateTime('now'));
    $form = $this->createForm(new avisType(), $avis);
    $form -> handleRequest($request);
    if($form->isSubmitted() && $form->isValid()){
    $avis->setProduit($produit);
    $em->persist($avis);
    $em->flush();
    return $this->redirect($this->generateUrl('produit_page'));
    }

    $formView=$form->createView();

    return $this->render('myBundle:avisAdd.html.twig',
    array('form'=>$formView));

    }


    this is my entity avis



    class avis {

    /**
    * @var produit
    *
    * @Assertvalid()
    *
    * @ORMManyToOne(targetEntity="redemarocredeBundleEntityproduit",
    cascade={"persist"})
    * @ORMJoinColumn(nullable=false)
    *
    *
    */
    private $produit;

    ...
    }


    can someone help me resolve that ?!










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      i have two entities produit entity and avis with a many to one relation one product can have many avis but when i try to save a comment the field produit_id stay null. i have well configured the relation i think that i have a problem in the controller.



      this is my controller add avis action:



      public function addAction(Request $request){
      $em =$this->getDoctrine()->getManager();
      $produit=$em->getRepository('redeBundle:produit')->findAll();
      $avis = new avis();
      $avis->setCreatedAt(new DateTime('now'));
      $form = $this->createForm(new avisType(), $avis);
      $form -> handleRequest($request);
      if($form->isSubmitted() && $form->isValid()){
      $avis->setProduit($produit);
      $em->persist($avis);
      $em->flush();
      return $this->redirect($this->generateUrl('produit_page'));
      }

      $formView=$form->createView();

      return $this->render('myBundle:avisAdd.html.twig',
      array('form'=>$formView));

      }


      this is my entity avis



      class avis {

      /**
      * @var produit
      *
      * @Assertvalid()
      *
      * @ORMManyToOne(targetEntity="redemarocredeBundleEntityproduit",
      cascade={"persist"})
      * @ORMJoinColumn(nullable=false)
      *
      *
      */
      private $produit;

      ...
      }


      can someone help me resolve that ?!










      share|improve this question













      i have two entities produit entity and avis with a many to one relation one product can have many avis but when i try to save a comment the field produit_id stay null. i have well configured the relation i think that i have a problem in the controller.



      this is my controller add avis action:



      public function addAction(Request $request){
      $em =$this->getDoctrine()->getManager();
      $produit=$em->getRepository('redeBundle:produit')->findAll();
      $avis = new avis();
      $avis->setCreatedAt(new DateTime('now'));
      $form = $this->createForm(new avisType(), $avis);
      $form -> handleRequest($request);
      if($form->isSubmitted() && $form->isValid()){
      $avis->setProduit($produit);
      $em->persist($avis);
      $em->flush();
      return $this->redirect($this->generateUrl('produit_page'));
      }

      $formView=$form->createView();

      return $this->render('myBundle:avisAdd.html.twig',
      array('form'=>$formView));

      }


      this is my entity avis



      class avis {

      /**
      * @var produit
      *
      * @Assertvalid()
      *
      * @ORMManyToOne(targetEntity="redemarocredeBundleEntityproduit",
      cascade={"persist"})
      * @ORMJoinColumn(nullable=false)
      *
      *
      */
      private $produit;

      ...
      }


      can someone help me resolve that ?!







      symfony foreign-keys many-to-one symfony-2.5






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 19 at 15:08









      Rania MALK

      1




      1
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          It is solvable by using on of those solutions




          1. in the setProduit method of your Avis class, you add the following instruction: produit->addAvis($this);.

          2. Make sure that anytime you call $avis->setProduit($produit);, you must add $produit->addAvis($avis); before flush your data.


          I am supposing that addAvis is the method used to add a given avis to your produit.






          share|improve this answer








          New contributor




          Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.


















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53377486%2fsymfony-2-5-many-to-one-relation-foreign-key-null%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            It is solvable by using on of those solutions




            1. in the setProduit method of your Avis class, you add the following instruction: produit->addAvis($this);.

            2. Make sure that anytime you call $avis->setProduit($produit);, you must add $produit->addAvis($avis); before flush your data.


            I am supposing that addAvis is the method used to add a given avis to your produit.






            share|improve this answer








            New contributor




            Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.






















              up vote
              0
              down vote













              It is solvable by using on of those solutions




              1. in the setProduit method of your Avis class, you add the following instruction: produit->addAvis($this);.

              2. Make sure that anytime you call $avis->setProduit($produit);, you must add $produit->addAvis($avis); before flush your data.


              I am supposing that addAvis is the method used to add a given avis to your produit.






              share|improve this answer








              New contributor




              Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.




















                up vote
                0
                down vote










                up vote
                0
                down vote









                It is solvable by using on of those solutions




                1. in the setProduit method of your Avis class, you add the following instruction: produit->addAvis($this);.

                2. Make sure that anytime you call $avis->setProduit($produit);, you must add $produit->addAvis($avis); before flush your data.


                I am supposing that addAvis is the method used to add a given avis to your produit.






                share|improve this answer








                New contributor




                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                It is solvable by using on of those solutions




                1. in the setProduit method of your Avis class, you add the following instruction: produit->addAvis($this);.

                2. Make sure that anytime you call $avis->setProduit($produit);, you must add $produit->addAvis($avis); before flush your data.


                I am supposing that addAvis is the method used to add a given avis to your produit.







                share|improve this answer








                New contributor




                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                share|improve this answer



                share|improve this answer






                New contributor




                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.









                answered Nov 20 at 21:32









                Mercury

                1




                1




                New contributor




                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.





                New contributor





                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






                Mercury is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53377486%2fsymfony-2-5-many-to-one-relation-foreign-key-null%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    404 Error Contact Form 7 ajax form submitting

                    How to know if a Active Directory user can login interactively

                    TypeError: fit_transform() missing 1 required positional argument: 'X'