symfony PHPフレームワークpart2 (531レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
242: nobodyさん [] 2010/10/19(火) 02:27:53 ID:0CIYXc+U(1/2) AAS
ユーザー情報を持つUserAccountテーブルと、そのIDをカラムに持つBlogテーブルをリレーションさせておくと、
フォームの作成で下記のようなファイルが生成されます。
これが、ユーザー数が多くて、かつuser_idをunset()して使うケースではかなり無駄な気がします。
手作業でsetup()を上書きして、widgetをsfWidgetFormInputText、
validatorをsfValidatorIntegerに変える、という感じに書き換えたいのですが、
スキーマのオプションとかでsfWidgetFormDoctrineChoice()&$this->getRelatedModelName()を
使わないようにはできないんでしょうか?
$this->getRelatedModelName()の呼び出しは1回で済むはずなのに無駄なコードだし。。。
ユーザーが1万人になったら、フォームの表示のたびに2万件のレコード引っ張ってくるつもり?
abstract class BaseBlogForm extends BaseFormDoctrine
{
public function setup()
{
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'user_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'), 'add_empty' => false)),
));
$this->setValidators(array(
'id' => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
'user_id' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'))),
));
243: nobodyさん [] 2010/10/19(火) 21:06:26 ID:0CIYXc+U(2/2) AAS
sfWidgetFormDoctrineChoice::getChoices()
が呼ばれるのはrender()の時だけ?
大ポカだった。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.140s*