ユーザーがお気に入りのカテゴリをアカウントに関連付けている簡単なブログの例を作成したいと思います。つまり、はこのカテゴリの記事しか書くことができません。(そのうちのいくつか(ほとんどは管理者)はカテゴリを切り替える機会を得ますが、それは問題ではありません...今のところ^^)
そこで、最初にUser-エンティティとCategoryエンティティの間に関係を作成しました。すべてが正常に動作します。これで、各ユーザーのメインカテゴリが選択されました。
気になるのは、EntityType(formbuilder)クラスとEntityRepositoryクラスで現在ログインしているユーザーを取得できないことだけです。
私の「新しい投稿」フォームには、他のエンティティ(タグなど)との関係があります。EntityTypeクラスの「entity」フォームタイプを使用して、これらのフォーム要素を生成します。ここで、タグをフィルタリングせずに、現在ログインしているユーザーカテゴリと同じカテゴリ関係を持つタグのみを選択できるようにします。
エンティティフォームタイプからquery_builderオプションを使用しようとしました。しかし、現在のユーザーオブジェクトを取得できないため、彼がどのカテゴリを選択したかわかりません。EntityRepositoryでも同じ問題が発生します。
これで、PostControllerにすでにあるタグをフィルタリングできましたが、問題は、これが何度も必要になることです。したがって、新しいものを追加するたびにこれをコーディングする必要はありません。
このフィルターをEntityRepositoryに配置するのが最善だと思いました。したがって、いつでもfindAllByCategoryにアクセスできます。しかし、そこにユーザーオブジェクトが必要です。
これを達成するための最良の方法は何ですか?たくさん検索しましたが、間違った用語を検索したか、誰もこの問題を抱えていません:)