2017-01-27 7 views
0

Использование Yii 1 и ActiveRecord - Я довольно новичок в обоих.yii ActiveRecord всегда запрашивает базу данных

$types = CasinoSgTypes::model(); 
$types->findAll(); 
$types->findByPk(3); 

Я думал, что Yii AR будет пытаться найти в недавно полученных данных первых, вместо того, что у меня есть 2 запросов к базе. Возможно, я использую это неправильно?

уверен, что я могу пройти через массив результатов, полученных первым запросом (findAll) вручную, но я хотел бы сделать это с помощью AR.

Другими словами, есть способ принудительного поиска AR внутри уже полученных данных и только затем запросить базу данных или smth, как это. как правильно использовать модели AR + Yii, чтобы избежать ненужных запросов?

ответ

0

Когда вы вызываете $types->findAll();, данные не сохраняются в классе AR и поэтому вы не можете его использовать. Более простой альтернативой поиску в данных является использование query caching:

$types->cache(3600)->findByPk(3); 
+0

поэтому ни AR, ни модель не имеют состояния? скопировать некоторые данные и уменьшить нагрузку на базу данных? Может быть, у них есть только неправильное использование? – Eugene

 Смежные вопросы

  • Нет связанных вопросов^_^