【问题标题】:doctrine2: Entity's association changes after first call学说2:第一次调用后实体的关联发生变化
【发布时间】:2012-10-15 14:51:38
【问题描述】:

我正在使用最新版本的学说: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;

请指教。我不知道该怎么办... :-(

【问题讨论】:

  • 真的返回array吗?它应该返回一个ArrayCollection 对象。

标签: php symfony doctrine doctrine-orm entity


【解决方案1】:

对不起对不起对不起 这是关联目标方面的错误。 目标具有一对一关联而不是多对一

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    相关资源
    最近更新 更多