当我导入索引时,一切正常(包括关系)。
问题是主模型不监视关系。
当我更新关系时,索引也没有更新。
有什么方法可以在关系被修改时使用类似于 Cache::tags
的东西来更新索引?或者也许是另一种方式。
最佳答案
不幸的是,没有直接的方法可以使用 Scout 执行此操作。但是,使用另一个 Laravel 功能,您可以“欺骗”Laravel 更新记录。
向每个子类添加一个 $touches
变量,其中包含与父类关系的方法名称。例如,如果您有一个带有返回 belongsTo()
关系的 post()
方法的 Comment 类,您将添加到 Comment 类:
protected $touches = ['post'];
当评论被修改时,它会更新父级的updated_at
字段,Scout 会看到并更新记录。
关于php - Laravel Scout - 观察关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39941303/