Две модели, одна STI и валидация

Допустим, у меня есть две таблицы - Продукты и Заказы. Для простоты предположим, что за один раз можно купить только один продукт, поэтому нет таблицы объединения, такой как order_items. Таким образом, связь заключается в том, что у продукта много заказов, а заказ принадлежит продукту. Следовательно, product_id - это fk в таблице Order.

Таблица продуктов - STI - с подклассами A, B, C.

Когда пользователь заказывает подкласс Product C, необходимо проверить две специальные проверки в полях модели Order order_details и order_status. Эти два поля могут быть нулевыми для всех других подклассов Продукта (т. Е. A и B). Другими словами, проверка этих двух полей не требуется, когда пользователь покупает А и В.

Мой вопрос:

Как записать проверки (возможно, настраиваемые?) В модель Order, чтобы модель Order знала, что нужно выполнять проверки только для двух полей ITS - order_details и order_status - когда подкласс fk_id для Product C сохраняется в таблице заказов ?

Ответы на вопрос(1)

Ваш ответ на вопрос