doctrine2:第一次调用后实体的关联发生了变化

时间:2012-10-15 14:51:38

标签: php symfony doctrine doctrine-orm entity

我使用的是最新版本的学说:2.3

当你调用生成的关联函数时,第一次一切正常:

$authors = $book->getBookToAuthors();
//$authors = array(5)

但第二次而不是返回所有关联的数组,它返回最后一个水合实体:

$authors = $book->getBookToAuthors();
//$authors = BookToAuthor entity

即使没有其他事情发生也会发生:

$authors = $book->getBookToAuthors(); //will work
$authors = $book->getBookToAuthors(); //won't work

getBookToAuthors()的功能是:

public function getBookToAuthors()
{
    return $this->bookToAuthors;
}

,映射如下:

/**
 * @var BookToAuthor[]
 *
 * @OneToMany(targetEntity="BookToAuthor", mappedBy="book", cascade={"persist"})
 * @JoinColumn(name="id", referencedColumnName="book_id", onDelete="cascade")
 */
private $bookToAuthors;

请告知。我不知道该做什么...: - (

1 个答案:

答案 0 :(得分:1)

抱歉抱歉抱歉 这是关联目标方面的一个错误。 目标有一对一关联而不是多对一

如果您遇到此问题,请确保双方的关联类型匹配