Yiiフレームワークを使用して構築しているサイトに問題があります。関連するモデルのフォーム
私はPhotosモデル用のフォームを用意しています。写真のモデルはそのような店舗モデルに関連している:写真形式で
店舗モデル
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);
問題がストアテーブルにはいくつかの問題を引き起こしている、あまりにも多くのレコード(以上35000)を、持っているということであるようです。これは記憶上の問題でしょうか?
...閉じ括弧が欠落することができるされている場合は?ドロップダウン機能の外で 'Store :: model() - > findAll()'を試しましたか? – ldg
エラーはありません - このページには、Store :: model() - > findAll()コマンド(ドロップダウンの外側でさえ)があるポイントまでのHTMLのみが表示されます。ログ出力も表示されます。 HTMLは文字通り、コマンドの直前のビューに限定されています。 –
だから、タイムアウトになる可能性があります - 35kのすべての店舗をHTMLドロップダウンに表示する予定ですか? – ldg