Koby
Koby

Reputation: 193

doctrine2: Entity's association changes after first call

i am using the latest version of doctrine: 2.3

when you call a generated association function, the first time everything is fine:

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

but the second time instead of returning the array of all associations it returns the last hydrated entity:

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

that happens even when there is nothing else happening:

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

the function of getBookToAuthors() is:

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

and the mapping is as follows:

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

please advise. i don't know what to do... :-(

Upvotes: 1

Views: 88

Answers (1)

Koby
Koby

Reputation: 193

sorry sorry sorry it was a mistake in the association target side. the target had One-To-One association instead of Many-To-One

if you have this problem make sure the association type in both sides is matching

Upvotes: 1

Related Questions