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
助けてください