Допустим, у меня есть две таблицы - Продукты и Заказы. Для простоты предположим, что за один раз можно купить только один продукт, поэтому нет таблицы объединения, такой как order_items. Таким образом, связь заключается в том, что у продукта много заказов, а заказ принадлежит продукту. Следовательно, product_id - это fk в таблице Order.
Таблица продуктов - STI, подклассы A, B, C.
Когда пользователь заказывает подкласс Product C, необходимо проверить две специальные проверки в полях модели Order order_details и order_status. Эти два поля могут быть нулевыми для всех других подклассов Продукта (т. Е. A и B). Другими словами, не нужно выполнять проверку для этих двух полей, когда пользователь покупает A и B.
Мой вопрос:
Как мне записать проверки (возможно, настраиваемые?) В модели Order, чтобы модель Order знала, что нужно выполнять проверки только для двух полей ITS - order_details и order_status - когда fk_id для подкласса Product C сохраняется в стол заказов?