0

Yii フレームワークを使用して構築しているサイトで問題に直面しています。

このサイトには、写真モデルのフォームがあります。Photos モデルは Stores モデルに次のように関連付けられています。

店舗モデル

public function relations()
{
return array(
'photos' => array(self::HAS_MANY, 'Photo', 'storeId'),
...

写真 モデル

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 以上) ことが問題のようです。多分これはメモリの問題ですか?

4

1 に答える 1

2

ログ ファイルにエラーはありますか?

上記のコードがまさにあなたのものである場合、閉じ括弧が欠落している可能性があります...

<?php 
//The below line is causing the problem
echo $form->dropDownList(
  $model,
  'storeId', 
  CHtml::listData(Store::model()->findAll(), 'id', 'name')
); 
?>
于 2011-06-25T23:30:28.267 に答える