Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/11/2014, 15:57
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 meses
Puntos: 8
Respuesta: Warning: spl_object_hash() expects parameter 1 to be object, integer given

Ok, es una relación tipo "One-To-One, Self-referencing", el código es este:

Código:
<?php

namespace Book\MainBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Book
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Book\MainBundle\Entity\BookRepository")
 */
class Book
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO") 
     */
    private $id;

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

    /**
     * @var integer
     * @ORM\OneToOne(targetEntity="Book")
     * @ORM\JoinColumn(name="parent_branch", referencedColumnName="id")
     */
    private $parentBranch;


    /**
     * @var integer
     *
     * @ORM\Column(name="creator_uid", type="integer")
     */
    private $creatorUid;

    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set phrase
     *
     * @param string $phrase
     * @return Book
     */
    public function setPhrase($phrase)
    {
        $this->phrase = $phrase;

        return $this;
    }

    /**
     * Get phrase
     *
     * @return string 
     */
    public function getPhrase()
    {
        return $this->phrase;
    }

    /**
     * Set parentBranch
     *
     * @param integer $parentBranch
     * @return Book
     */
    public function setParentBranch($parentBranch)
    {
        $this->parentBranch = $parentBranch;

        return $this;
    }

    /**
     * Get parentBranch
     *
     * @return integer 
     */
    public function getParentBranch()
    {
        return $this->parentBranch;
    }


    /**
     * Set creatorUid
     *
     * @param integer $creatorUid
     * @return Book
     */
    public function setCreatorUid($creatorUid)
    {
        $this->creatorUid = $creatorUid;

        return $this;
    }

    /**
     * Get creatorUid
     *
     * @return integer 
     */
    public function getCreatorUid()
    {
        return $this->creatorUid;
    }
}
Efectivamente si comento:
//$book->setParentBranch(1);

funciona !!!, pero no entiendo porqué ahí no puedo pasarle un integer, precisamente ese el el campo que actúa como foreign key en mi tabla.
__________________
Videotutoriales de Drupal

Última edición por Dundee; 20/11/2014 a las 16:02