1

私は教義の最新バージョンを使用しています: 2.3

生成された関連付け関数を呼び出すと、最初はすべて問題ありません。

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

しかし、2 回目はすべての関連付けの配列を返す代わりに、最後にハイドレートされたエンティティを返します。

$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;

お知らせ下さい。どうすればいいのかわからない... :-(

4

1 に答える 1

1

申し訳ありませんが申し訳ありませんが、アソシエーションターゲット側のミスでした。ターゲットには、多対1ではなく1対1の関連付けがありました

この問題が発生した場合は、両側の関連付けタイプが一致していることを確認してください

于 2012-10-15T15:04:58.137 に答える