Model Factory method

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
mkusher
Сообщения: 2
Зарегистрирован: 2011.11.27, 12:58

Model Factory method

Сообщение mkusher »

Возникла следующая проблема в решении задач на Yii. Существует ActiveRecord класс Place, у которого есть поле `type`. В `type` может быть что-то вроде 'mountain', 'hills', 'river' и т.д. И, вообще говоря, хотелось бы в зависимости от этого `type` получать разные классы соответствующие разным 'type'(например, RiverPlace, HillsPlace). С запросами на добавление проблем нет и даже есть статья на эту тему http://www.yiiframework.com/wiki/198/si ... heritance/
А вот с выборкой из бд все не так просто. Решение "в лоб" в общем-то есть: для Place делать выборку `primaryKey` и `type`, а далее в onAfterFind получать заново уже нужный класс заново делая запрос в бд, но такое решение очень тяжелое при больших выборках. Получилось найти еще такой решение http://stackoverflow.com/questions/1288 ... verloading где для каждого type создавлось новое отношение модели с собой.
Есть ли иные решения?
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Model Factory method

Сообщение yiijeka »

Behaviors?
Аватара пользователя
Ryadnov
Сообщения: 456
Зарегистрирован: 2010.06.20, 00:38
Откуда: Санкт-Петербург

Re: Model Factory method

Сообщение Ryadnov »

@mkusher а статью вы только прочитали? Реализовать не пробовали? Может и проблемы нет? ;)
Аватара пользователя
mkusher
Сообщения: 2
Зарегистрирован: 2011.11.27, 12:58

Re: Model Factory method

Сообщение mkusher »

@Ryadnov, спасибо, действительно подвела невнимательность при просмотре статьи:)
Ответить