php - Symfony forms - setting an empty value for an entity with OneToOne bidirectional relationship -


i have user entity bidirectional relationship passport entity

/** @entity */ class user {      /**      * @onetoone(targetentity="passport", mappedby="user")      * @joincolumn(name="passport_id", referencedcolumnname="id")      */     private $passport;      // plus other fields     // plus getters , setters of above... }   /** @entity */ class passport {      /**      * @onetoone(targetentity="user", inversedby="passport", cascade={"persist", "remove"})      * @joincolumn(name="user_id", referencedcolumnname="id")      */     private $user;  } 

and have formtype

 /** @usertype */  $builder->add  (     'passport',     'entity',      array(          'class' => 'appbundle\passport',          'empty_value' => 'please choose passport'      )  ); 

so when submitting form chosen passport user, need set user in passport entity too

/** @entity */     class user     {         //           public function setpassport($passport){             $this->passport=$passport;             if ($passport){                 $passport->setuser($this);             }         }         //and other setters     } 

suppose user entity has link passport entity. , in form want unlink (set passport null). can select empty_value choice, after submitting form user have no passport. passport still have link user.

it possible setuser(null) in controller before binding request form, but

what best solution here?

is idea have unidirectional relationship in current case?

it sure seems unidirectional relationship make things simpler in case, choice_loader option choicetype field, callback function providing choices, provide null choice , list of passports choose from.


Comments

Popular posts from this blog

php - Permission denied. Laravel linux server -

google bigquery - Delta between query execution time and Java query call to finish -

python - Pandas two dataframes multiplication? -