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