Kohana (KO3) ORM универсальная сводная таблица (поля: model1, model1_id, model2, model2_id) - возможно?

StackOverflow https://stackoverflow.com/questions/8869705

Вопрос

У меня следующая настройка моделей:

родовое слово

Объект страницы может совместно использовать объект File с одним или несколькими объектами галереи в качестве фона.И на каком-то этапе позже появилась новая модель вроде

родовое слово

или подобное может появиться в приложении.

Обратите внимание, что мне нужна файловая модель вместо того, чтобы просто хранить пути к фактическим файлам, потому что файловая модель может ссылаться на несколько файлов в файловой системе

родовое слово

Итак, есть ли простой способ (без перезаписи всего класса ORM) реализовать отношения, в которых использовалась бы «общая» сводная таблица со следующими полями:

родовое слово

Причина: я хочу иметь универсальный модуль приложения для проверки "потерянных" файлов, а также иметь возможность определять, к чему прикреплен каждый файл, поэтому, например, при удалении файла из галереи приложение будетпредупредить, что файл все еще прикреплен к странице в качестве фона.

Это было полезно?

Решение

Короткий ответ - нет.Причина в том, что model_id будет конфликтовать с другими идентификаторами модели.При желании вы могли бы создать уникальный индекс для model_name + model_id, но для объединения этих двух столбцов потребовалось бы, чтобы вы переписали методы ORM, чтобы объединить модели через их отношения.

Я бы, честно говоря, придерживался простых сводных таблиц.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top