ElasticSearch:如何同步关系的属性(使用数据透视表)?

时间:2018-06-07 08:28:13

标签: php laravel elasticsearch

我有以下主要模型:

记录映射:

Map::create($this->getModelType(), function (Blueprint $map) {
            $map->integer('id');
            $map->string('some_id');
            $map->string('original_title');
            $map->string('first_release_year');
            $map->date('created_at')->format('yyyy-MM-dd HH:mm:ss');
            $map->date('updated_at')->format('yyyy-MM-dd HH:mm:ss');

            $map->nested('contributors', function (Blueprint $map) {
                $map->integer('id');
                $map->string('name');
            });

并在我的贡献者模型中: protected $touches = ['records'];

运行我的单元测试,我有以下逻辑:

  • 创建Record模型
  • 的2个实体
  • 创建Contributor模型
  • 的2个实体
  • 像这样更新 pivot 表:

    $ recordOne->贡献者() - >附加([                     $ contributorOne-> id => ['排名' => 1],                     $ contributorTwo-> id => ['排名' => 2],             ] );

然后我在ES中看到了我的新记录,但我没有看到contributors属性已更新,因此与我的数据库同步。

这可能是什么问题?

0 个答案:

没有答案