Я использую простое наследование таблицы с Laravel (используя плагин, например Nanigans/single-table-inheritance или intrip/laravel-single-table-inheritance, но я также могу реализовать свою собственную, которая это не проблема).Наследование и синхронизация одиночной таблицы Laravel
Я также пользуюсь собственными отношениями: в книге может быть много слов, а слово может быть во многих книгах.
Представьте себе, что у меня есть что-то вроде:
Book {
verbs() { belongsToMany ('Verb',...) }
adjectives() { belongsToMany ('Adjective',...) }
}
А также изображений, что «глагол» и «прилагательное» делит таблицу «слова» с другим полем «типа» и расширением модели «Слово».
Проблема заключается в том, что я использую sync() (например, $ book-> verbs() -> sync ([1,2,3])) также очищает отношения прилагательных, когда это не должно.
Знаете ли вы какое-либо решение?
Спасибо за ваш комментарий. У меня тоже есть это, но я искал другое «элегантное» решение. Во всяком случае, если я не смогу найти что-либо, я буду так поступать. – kanashin