【发布时间】:2013-04-03 16:33:54
【问题描述】:
与question 相关我在尝试编辑之前创建的任何记录时遇到错误。这是错误(我省略了一些不相关的部分,因为没有过多地扩展帖子):
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.phpline 197 ... at sfDoctrineRecord->__call('', array()) in n/a line n/a ... 在 Estado->() 在 n/a 行 n/a ... 在 call_user_func(array(object('Estado'), '')) 在 SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/source/sfDependentSelectObjectSource.class.php 第 56 行 ... 在 sfDependentSelectObjectSource->getRefValue('15') 中 SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/widget/sfWidgetFormDependentSelect.class.php 第 98 行 ... 在 sfWidgetFormDependentSelect->render('persona[estado_id]', '15', 数组(),空)在 SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/widget/sfWidgetFormObjectDependentSelect.class.php 第 70 行 ... 在 sfWidgetFormObjectDependentSelect->render('persona[estado_id]', '15', 数组(),空)在 SF_ROOT_DIR/plugins/sfDependentSelectPlugin/lib/widget/sfWidgetFormDoctrineDependentSelect.class.php 第 67 行 ... 在 sfWidgetFormDoctrineDependentSelect->render('persona[estado_id]', '15',数组(),空)在 SF_ROOT_DIR/lib/vendor/symfony/lib/widget/sfWidgetFormSchema.class.php 第 512 行 ... 在 sfWidgetFormSchema->renderField('estado_id', '15', 数组(),空)在 SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 第 119 行 ... 在 sfFormField->render() 中 SF_ROOT_DIR/lib/vendor/symfony/lib/form/sfFormField.class.php 第58行
我不知道在哪里寻找这个 Estado:: 或者它在哪里失败了,有什么解决办法吗?
【问题讨论】:
-
你能从你在这里使用的Form类中发布字段“estado_id”的定义吗?
-
@MichalTrojanowski here
$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') ));也在这里引用的帖子中 -
看起来你必须指定 'ref_method' 作为 Widget 的一个选项。你真的必须使用
sfWidgetFormDoctrineDependentSelect吗?也许您可以使用通常的sfWidgetFormDoctrineChoice? -
@MichalTrojanowski 好吧,我使用它是因为依赖选择。是国家>州的典型问题。你对此有何建议?不使用这个插件而只使用 Symfony Core 类?如何仅使用 Symfony 完成工作?
-
estado_id不必属于sfWidgetFormDoctrineDependentSelect类,因为它确实依赖于任何东西。将类更改为sfWidgetFormDoctrineChoice并删除ajax选项,你应该没问题。