У меня проблема с сайтом, который я создаю с использованием фреймворка Yii.
На сайте у меня есть форма для модели Фотографии.Модель Photos относится к модели Stores следующим образом:
Модель Stores
public function relations()
{
return array(
'photos' => array(self::HAS_MANY, 'Photo', 'storeId'),
...
Модель Photos
public function relations()
{
return array(
'store' => array(self::BELONGS_TO, 'Store', 'storeId'),
);
}
В форме «Фотографии» я пытаюсь получить раскрывающийся список со списком всех магазинов следующим образом:
<div class="row">
<?php echo $form->labelEx($model,'storeId'); ?>
<?php
//The below line is causing the problem
echo $form->dropDownList($model,'storeId',
CHtml::listData(Store::model()->findAll(), 'id', 'name'));
?>
<?php echo $form->error($model,'storeId'); ?>
</div>
В результате происходит рендеринг страницы в строке dropdownList.Если я удалю строку, форма отображается правильно.У меня такое ощущение, что это может быть связано с тем, как модель магазина связана с фотомоделью, но не могу понять, почему или как это исправить.
Может кто-нибудь пролить свет на то, что может происходить?Спасибо!
Редактировать:
Понял это частично!
Я временно исправил проблему, добавив следующий код:
$criteria = new CDbCriteria();
$criteria->limit = 10;
$stores = Store::model()->findAll($criteria);
Кажется, проблема в том,что в таблице Store слишком много записей (более 35000), что вызывает некоторые проблемы.Может быть, это проблема с памятью?