항상 엔티티에 예외가 있습니다. 나는 그들과 놀려고했다. Google에서 어떤 관계가 내 요소에 가장 적합한 지 확인했습니다 ... 그러나 최상의 구성을 찾을 수 없었습니다.Doctrine/Symfony - 몇 가지 오류가 있습니다. 내 관계가 잘못되어 있습니다.
일부 앨범을 만들 수있는 웹 사이트를 만들고 있습니다.
사용자는 내가 엔티티 앨범을 가지고 있고 사용자 속성 내부에있는 여러 albums.So을 가질 수 그러나
/**
* Album
*
* @ORM\Table(name="album")
* @ORM\Entity(repositoryClass="Moodress\Bundle\AlbumBundle\Entity\AlbumRepository")
*/
class Album
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
** @ORM\ManyToOne(targetEntity="Moodress\Bundle\UserBundle\Entity\User")
** @ORM\JoinColumn(nullable=false)
*/
private $user;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var \DateTime
*
* @ORM\Column(name="creationDate", type="datetime")
*/
private $creationDate;
/**
* @var \DateTime
*
* @ORM\Column(name="modificationDate", type="datetime")
*/
private $modificationDate;
/**
* @ORM\OneToMany(targetEntity="Moodress\Bundle\AlbumBundle\Entity\Picture", cascade={"persist"}, mappedBy="album")
*/
private $pictures;
/**
* Constructor
*/
public function __construct()
{
$this->creationDate = new \Datetime();
$this->modificationDate = new \Datetime();
}
// Get and set
}
, 사용자가 웹 사이트에 가입하면, 내가 업로드라는 기본 앨범을 만드는 것이 나는 사용자 클래스를 유지하고 싶다.
/**
* User
*
* @ORM\Entity
* @ORM\Table(name="user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\OneToOne(targetEntity="Moodress\Bundle\AlbumBundle\Entity\Album", cascade={"persist"})
*/
protected $albumUpload;
// Get and set
}
나는이 오류가 : 나는 사용자 개체가있는 모든 개체를 직렬화 할 때 이 Undefined index: album in /Users/Sandro/sites/moodress-website/Symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 1608.
이 오류가 바로 나타납니다 ... 오류가
안녕, 해결 : 나는 사용자 개체와 오류를 가진 개체를 직렬화 사이의 상관 관계를 찾을 수 없습니다/ – manonthemoon
을 ... 당신이 게시하시기 바랍니다 수 이 컨텍스트에서 사용중인 엔티티와 오류를 발생시키는 코드? serialize()를 사용할 때 BasicEntityPersister가 트리거되지 않아야합니다. – SecretUsername