0

この質問に関連して、以前に作成したレコードを編集しようとするとエラーが発生します。これはエラーです (投稿をあまり拡張しないために、いくつかの無関係な部分を省略しました):

500 | 内部サーバー エラー | Doctrine_Record_UnknownPropertyException 不明なメソッド Estado::

SF_ROOT_DIR/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php 行 2658 の () でのスタック トレース ... }

    }

    throw new Doctrine_Record_UnknownPropertyException(sprintf('Unknown method

%s::%s', get_class($this), $method));

}


/** at Doctrine_Record->__call('', array()) in SF_ROOT_DIR/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/record/sfDoctrineRecord.class.php

197 行目 ... sfDoctrineRecord->__call('', array()) で n/a 行 n/a ... Estado->() で n/a 行 n/a ... call_user_func(array (object('Estado'), '')) in SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/source/sfDependentSelectObjectSource.class.php 56行目 ... at sfDependentSelectObjectSource->getRefValue('15') in SF_ROOT_DIR/plugins/sfDependentSelectPlugin/ lib/widget/sfWidgetFormDependentSelect.class.php 98 行目 ... SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/widget/sfWidgetFormObjectDependentSelect の sfWidgetFormDependentSelect->render('persona[estado_id]', '15', array(), null) で。 class.php 70行目 ... at sfWidgetFormObjectDependentSelect->render('persona[estado_id]', '15', array(),null) in SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/widget/sfWidgetFormDoctrineDependentSelect.class.php 67行目 ... at sfWidgetFormDoctrineDependentSelect->render('persona[estado_id]', '15', array(), null) in SF_ROOT_DIR/lib /vendor/symfony/lib/widget/sfWidgetFormSchema.class.php 512行目 ... at sfWidgetFormSchema->renderField('estado_id', '15', array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/ form/sfFormField.class.php 119行目 ... SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 58行目の sfFormField->render()class.php 512行目 ... at sfWidgetFormSchema->renderField('estado_id', '15', array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 119行目 .. . at sfFormField->render() in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 行 58class.php 512行目 ... at sfWidgetFormSchema->renderField('estado_id', '15', array(), null) in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 119行目 .. . at sfFormField->render() in SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 行 58

この Estado を探す場所がわかりません::またはどこで失敗するか、これに対する解決策はありますか?

4

1 に答える 1

1

したがって、問題はウィジェットの定義にあります。使用された元の定義:

$this->widgetSchema['estado_id'] = new sfWidgetFormDoctrineDependentSelect(array( 
    'model' => 'Estado', 
    'add_empty' => 'Seleccione estado', 
    'ajax' => true 
)); 

$this->widgetSchema['municipio_id'] = new sfWidgetFormDoctrineDependentSelect(array( 
    'model' => 'Municipio', 
    'depends' => 'Estado', 
    'add_empty' => 'Seleccione municipio', 
    'ajax' => true, 
    'order_by' => array('nombre', 'asc') 
));

どちらのウィジェットもクラスのものですsfWidgetFormDoctrineDependentSelectが、実際municipio_idには依存関係しかありません。

適切に機能するには、またはオプションのsfWidgetFormDoctrineDependentSelectいずれかを設定する必要があるようです。ref_methoddepends

をこれに変更すると、estado_id動作します:

$this->widgetSchema['estado_id'] = new sfWidgetFormDoctrineChoice(array( 
    'model' => 'Estado', 
    'add_empty' => 'Seleccione estado',
)); 
于 2013-04-08T09:13:44.187 に答える