4

fosElasticaBundle がネストされたエンティティをアップロードしないのはなぜですか?? エラスティックでタレントを作成するときは、ネストされたエンティティをアップロードしませんが、このタレントを編集するときは、エラスティックでネストされたフィールドをアップロードします。ネストされた才能を作成する場合、編集時にのみアップロードしないのはなぜですか?? 作成時:

    $user->setDeveloper($developer);
    $this->getDoctrine()->getManager()->persist($user);
    $this->getDoctrine()->getManager()->persist($developer);
    $manager->flush();

更新時:

    $manager->flush();

構成:

    fos_elastica:
clients:
    default:
      host: %elastica_host%
      port: %elastica_port%
      headers: { Authorization: Basic %elastica_auth_header% }

indexes:
    profile:
        finder: ~
        types:
             talent:
                mappings:
                    id:
                       type: integer
                    slug:
                       type: string
                    description:
                       type: string
                    user:
                        type: "nested"
                        properties:
                             id: ~
                             username:
                                type: string

ネストされたエンティティを変更すると、最初のユーザーと開発者はすべて問題ありません。

            talent:
                mappings:
                      id: ~
                      username:
                          type: string
                      firstName:
                          type: string
                      developer:
                          type: "nested"
                          properties:
                              id:
                                 type: integer
                              slug:
                                 type: string

しかし、チーム内のエンティティチームには、開発者のネストされたユーザーの開発者を調べるネストされたエンティティ開発者がいます。そして、エラスティックチームでチームの開発者を作成し、更新しない場合、チームを編集するときにのみ、この問題を修正する方法がわからないリスナーを上書きする可能性があります。開発者を作成するときに、この開発者のチームをフラッシュしますが、エラスティックで更新しません

    indexes:
    profile:
        finder: ~
        types:
            team:
                 mappings:
                     id:
                       type: integer
                     slug:
                       type: string

                     developers:
                        type: "nested"
                        properties:
                            id:
                               type: integer
                            slug:
                               type: string
                            user:
                               type: "nested"
                               properties:
                                   id: ~
                                   username:
                                      type: string
                                   firstName:
                                      type: string

これは私のリスナーです。おそらく、このようなカスタム挿入が必要ですか?

                    listener:
                        insert: true
                        update: true
                        delete: true

しかし、リスナーの場合:〜これはすべてバリアントかどうか?

                persistence:
                      driver: orm
                      model: Artel\ProfileBundle\Entity\Developer
                      provider: ~
                      listener: ~
                      finder: ~

私はこのように試みますが、まだネストされたエンティティはエラスティックにアップロードされません

                          listener:
                        immediate: true

そして、私はこれを試しますが、ネストされたアップロードはまだ行いません(そして、これはデフォルトの挿入、更新、削除です)

                          listener:
                        insert: true
                        update: false
                        delete: true

助けてください

4

0 に答える 0