relations вызывается много раз. может можно сделать singelton

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
webplus
Сообщения: 244
Зарегистрирован: 2012.02.24, 22:05
Контактная информация:

relations вызывается много раз. может можно сделать singelton

Сообщение webplus » 2019.04.26, 12:50

Здравствуйте!
Есть в модели

Код: Выделить всё

	public function relations()
	{

            'cities'    =>  array(self::HAS_MANY,  'Cities', 'country_id', 'on' => "cities.vis = '1' AND cities.nocity = 0", 'order' => "cities.posled"),
            'citiesgroups'    =>  array(self::HAS_MANY,  'CitiesGroup', 'country_id', 'on' => "citiesgroups.vis = '1'", 'order' => "citiesgroups.posled"),
	}
В общем yii-debug-toolbar пишет что эти запросы вызываются на сайте по 1,320 раз.
Как реализовать в relations singelton чтобы снизить нагрузку?


Аватара пользователя
webplus
Сообщения: 244
Зарегистрирован: 2012.02.24, 22:05
Контактная информация:

Re: relations вызывается много раз. может можно сделать singelton

Сообщение webplus » 2019.04.26, 13:54

ElisDN писал(а):
2019.04.26, 13:51
Использовать жадную загрузку
ну ->with('author') стоит в запросах, а может не with надо?
можно пример как? спасибо

Аватара пользователя
webplus
Сообщения: 244
Зарегистрирован: 2012.02.24, 22:05
Контактная информация:

Re: relations вызывается много раз. может можно сделать singelton

Сообщение webplus » 2019.04.26, 14:28

ElisDN писал(а):
2019.04.26, 13:51
Использовать жадную загрузку.
Сработало! Все супер! кол-во с 1568 сократилось до 50 на всей страницы. Этот запрос начал один раз отрабатывать. Сайт летает!

Ответить