Как правильно написать relation в модели Yii?

Есть две модели: Product и ProductPhoto.

У модели ProductPhoto есть атрибут sort_order (порядок сортировки). Нужно, чтобы по запросу $product->primaryPhoto была доступна первая фотография (с наименьшим sort_order).
Правильно ли я написал relation в модели Product, или есть способ поизящнее?

public function relations() {
  return array(
    'photos' => array(self::HAS_MANY, 'ProductPhoto', 'id'),
    'primaryPhoto' => array(self::HAS_ONE, 'ProductPhoto', 'product_id', 'order' => 'sort_order', 'limit' => '1'),
  );
}
  • Вопрос задан
  • 2959 просмотров
Решения вопроса 1
metamorph
@metamorph
Нужно проверить две вещи:

1. Как оно будет вести себя в случае отображения списка продуктов с картинкой (что-то мне подсказывает, что тут Вас ожидает сюрприз)

2. Не добавляет ли HAS_ONE лимит по умолчанию (что-то мне подсказывает, что да)

Что же касается поизящнее - лично мне всегда было жалко расходовать время БД на такие штуки, поэтому конкретная реализация сильно зависит от.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы