私はSymfony2プロジェクトでORMとしてDoctrine2を使用します。私はarticle
とtag
のエンティティクラスを持っています。それらの間に多対多の関係があります。物品には多くのタグがあり、その逆もあります。ジョイントされたテーブルarticle_tags
は、2つのカラムarticle_id
とtag_id
を持ち、doctrineによって生成されたものです。いくつかのタグを含む新しい記事が追加されたときは、新しいタグと既存のタグが両方ともtag
のテーブルに挿入されます。ユニークなタグのみを格納します; article_tags
はそれらを関連付けるだけです。多対多関係のユニークなデータ
記事のマイ・スキーマ:関係があるはずですので、
manyToMany:
tags:
targetEntity: Tag
cascade: ["persist"]
joinTable:
name: article_tag
joinColumns:
article_id:
referencedColumnName: id
inverseJoinColumns:
tag_id:
referencedColumnName: id
がtag
に独自の属性を追加し、重複を無視しては合理的ではありません。
Catchable Fatal Error: Argument 1 passed to Seferov\ArticleBundle\Entity\Article::addTag() must be an instance of Seferov\ArticleBundle\Entity\Tag, null given, called in /var/www/seferov.local/src/Seferov/ArticleBundle/Repository/TagRepository.php on line 34 and defined in /var/www/seferov.local/src/Seferov/ArticleBundle/Entity/Article.php line 393
したがって、特定のオブジェクトインスタンスにnull値が必要な関数を渡しました。これはあなたの質問ですか?または、一意のデータを持つ方法を尋ねていますか? –
私はユニークなデータを持ちたいと思っています。他は私が試みたものです。ユニークなデータ問題を解決する方法はありがたいです – seferov