我想向sfGuard插件中的用戶表單添加自定義字段。將新用戶字段添加到sfGuard用戶管理員表單
我已經在數據庫中創建了列,併爲該字段添加了widgetschema。它在表單中正確顯示,並且在添加和提交文本時,顯示更新已成功。插入到字段中的數據不會在數據庫中填充。
我想我必須更新sfGuard的模型,因爲它不知道新的字段。我試過$ ./symfony doctrine:build-model
,但似乎並沒有更新sfGuard插件中的類。
我已經加入這個sfGuardUserAdminClass:
$this->widgetSchema['department_title'] = new sfWidgetFormInputText();
$this->validatorSchema['department_title'] = new sfValidatorString(array());
我可以看到的表單字段並提交,它只是沒有趕上和數據插入到數據庫。
UPDATE
我已經更新了我與MYUSER對象架構,遷移的diff和構建的模型。我在sfGuardUserAdminForm.class中添加了$this->embedRelation('Profile');
。如果你真的想要一個字段添加到您需要修改的schema.yml配置在plugins/sfDoctrineGuardPlugin/config/doctrine/schema.yml
用戶模型,我得到這個錯誤
"Catchable fatal error: Argument 1 passed to sfUser::__construct() must be an instance of sfEventDispatcher, instance of MyUserTable given, called in /Users/careyestes/Sites/sva/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Table.php on line 301 and defined in /Users/careyestes/Sites/sva/lib/vendor/symfony/lib/user/sfUser.class.php on line 46 Fatal error: Call to a member function evictAll() on a non-object in /Users/careyestes/Sites/sva/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1239"
對不起,也許名稱MyUser是錯誤的,因爲它也是sfUser的默認類的名稱。嘗試在模式中將名稱從MyUser更改爲MyUserProfile。我更新我的答案。 –