Страница 1 из 1

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

Добавлено: 2019.04.26, 12:50
webplus
Здравствуйте!
Есть в модели

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

	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 чтобы снизить нагрузку?

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

Добавлено: 2019.04.26, 13:51
ElisDN
Использовать жадную загрузку.

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

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

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

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