Yoni Elyo Yoni Elyo - 1 year ago 75
PHP Question

How to set the id of a foreign key id #sf2 #doctrine2

I'm trying to manually set an foreign key id to an object, but didn't find how to do it

class Item
* @ORM\ManyToOne(targetEntity="MyBundle\Entity\ItemType", inversedBy="itemTypes")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
protected $item_type;

Is there a way to do something link that?

$item = new Item();
$item->setItemTypeId(1); // This generate an error.

Or do i have to do like that ?

$item = new Item();
$type = Repository::RetrieveById(1);
$item->setItemType($type); // This generate an error.

Answer Source
  1. First of all(Do you have relation defined in ItemType Class?):

  2. So Second:

    Repository::RetrieveById(1); // Not valid code for the repository methods
  3. Replace this with:

    $type = $this->getDoctrine()->getRepository('ACMEBundle:ItemType')->find(1);
  4. And the second usage will be close to documentation.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download