This topic contains 2 replies, has 2 voices, and was last updated by manuel.distefano 7 years, 8 months ago.
- Topic
Hello everyone,
i’m using oro platform and i add a custom Entity (Alumnus) to my project. It’s a “complex” entity, infact it have a relationship (many-to-one) with others custom entities (e.g. Expertise).
I’m able to create an Alumnus via web, now i’m try to create it via API. I add a REST API (GET – POST – PUT), and i’m able to create an Alumnus. But when i add an array of “Expertises” to my json i get an error.
I send my request with another php application. My data is in array and i use json_encode before sent it.
Some code (as us can see i’m using “oro_collection” to add Expertise to Alumnus):
My Form Type:
1234567891011121314151617181920212223242526272829303132333435363738394041<?phpnamespace Luiss\AlumniBundle\Form\Type;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;class AlumnusType extends AbstractType{public function buildForm(FormBuilderInterface $builder, array $options){$builder->add('firstName', 'text', array('label' => 'Nome'))->add('lastName', 'text', array('label' => 'Cognome'))->add('expertises', 'oro_collection', array('label' => 'Competenze','type' => 'luiss_alumni_skill_expertise','options' => array('data_class' => 'Luiss\AlumniBundle\Entity\Skill\Expertise')))}public function configureOptions(OptionsResolver $resolver){$resolver->setDefaults(array('data_class' => 'Luiss\AlumniBundle\Entity\Alumnus','intention' => 'alumnus','extra_fields_message' => 'This form should not contain extra fields: "{{ extra_fields }}"','cascade_validation' => true,));}public function getName(){return 'luiss_alumnus';}}My Entity (Doctrine configuration it’s by yml):
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125<?phpnamespace Luiss\AlumniBundle\Entity;use Doctrine\Common\Collections\ArrayCollection;/*** Class Alumnus*/class Alumnus{/** @var integer */protected $id;/** @var string */protected $firstName;/** @var string */protected $lastName;/** @var string */protected $expertises;public function __construct(){$this->expertises = new ArrayCollection();}/*** @return int*/public function getId(){return $this->id;}/*** @param int $id*/public function setId($id){$this->id = $id;}/*** @return string*/public function getFirstName(){return $this->firstName;}/*** @param string $firstName*/public function setFirstName($firstName){$this->firstName = $firstName;}/*** @return string*/public function getLastName(){return $this->lastName;}/*** @param string $lastName*/public function setLastName($lastName){$this->lastName = $lastName;}/*** Get expertises** @return ArrayCollection|Expertise[]*/public function getExpertises(){return $this->expertises;}/*** Add expertise** @param Expertise $expertises** @return Alumnus*/public function addExpertise(Expertise $expertises){/** @var Expertise $expertises */if (!$this->expertises->contains($expertises)) {$this->expertises->add($expertises);$expertises->setAlumnus($this);}return $this;}/*** Remove expertise** @param Expertise $expertises** @return Alumnus*/public function removeExpertise(Expertise $expertises){if ($this->expertises->contains($expertises)) {$this->expertises->removeElement($expertises);}return $this;}}My json:
123456789{"firstName": "mashfrogSpa","lastName": "Stefano","birthDate": "1985-01-24","facebook": "Manuel","expertises": {"description": "Descrizione"}}Can someone help me or get me some documentation?
Tnx
The forum ‘OroPlatform – Programming Questions’ is closed to new topics and replies.