Laravel Scout — соблюдайте отношения

Когда я импортирую индекс все работает нормально (включая отношения).

Проблема в том, что основная модель не следит за отношениями.

Когда я обновляю отношение, индекс тоже не обновляется.

Есть ли способ использовать что-то подобное с Cache::tags обновить индекс при изменении отношения? Или, может быть, это другой способ.

5

Решение

К сожалению, нет прямого способа сделать это с помощью Scout. Однако, используя другую функцию Laravel, вы можете «обмануть» Laravel для обновления записи.

Добавить $touches переменная для каждого из дочерних классов, содержащая имена методов отношения с родителем. Например, если у вас был класс Comment с post() метод, возвращающий belongsTo() отношения, вы добавили бы в класс Comment:

protected $touches = ['post'];

Когда комментарий будет изменен, он обновит updated_at поле родителя, которое скаут увидит и обновит запись.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]