当我导入索引时,一切正常(包括关系)。
问题在于主模型不关注关系。
当我更新关系时,索引也不会更新。
有没有办法在修改关系时使用与Cache::tags
类似的东西来更新索引?或许是另一种方式。
答案 0 :(得分:2)
遗憾的是,使用Scout没有直接的方法。但是,使用另一个Laravel功能,您可以“欺骗”Laravel更新记录。
向每个子类添加一个$touches
变量,其中包含与父级关系的方法名称。例如,如果您有一个带有post()
方法的Comment类返回belongsTo()
关系,那么您将添加到Comment类:
protected $touches = ['post'];
修改评论后,它会更新父级的updated_at
字段,Scout会看到并更新记录。