更改symfony插件的模型

时间:2012-02-10 15:49:37

标签: php symfony-1.4

我正在使用symfony插件“sfMultipleAjaxUploadGalleryPlugin”,我想修改它的模型。

我想更改“Photo”类,删除字段“title”并添加字段“description_fr”和“description_en”。

我在phpmyadmin中进行了更改,并且在插件中,我编辑了模式,模型,过滤器和表单以反映更改。

我已经清空了缓存,但是我得到了关于新字段的教义错误。这个插件就像管理生成器一样,它扩展了“autosomething”类,在运行时在缓存中创建。

有什么想法吗?还有哪些地方可以定义照片的模型?

由于它位于plugins /文件夹中,因此我无法使用命令行客户端重新创建所有内容。

1 个答案:

答案 0 :(得分:1)

我担心phpMyAdmin中的更改完全没用,因为一旦你进行构建,数据库中的所有内容都将由symfony本身管理。 您应首先在架构中进行所需的更改,然后调整相关的类

在模型中 sf_plugin_dir/sfMultipleAjaxUploadGalleryPlugin/lib/model/doctrine/Photo.class.phpsf_plugin_dir/sfMultipleAjaxUploadGalleryPlugin/lib/model/doctrine/PhotoTable.class.php

,格式为sf_plugin_dir/sfMultipleAjaxUploadGalleryPlugin/lib/form/doctrine/PhotoForm.class.php

,可能还有过滤器sf_plugin_dir/sfMultipleAjaxUploadGalleryPlugin/lib/filter/doctrine/PhotoFormFilter.class.php

并检查可能的助手 在sf_plugin_dir/sfMultipleAjaxUploadGalleryPlugin/lib/helper/

然后你应该使用改变后的Photo模型(如果有的话)检查每个动作/模板并相应地进行调整。

最后清空缓存

symfony cc

确保更改反映在所有模型类中(不是很重要,但仍然如此)

symfony doctrine:clean

重建一切

symfony doctrine:build --all --no-confirmation

现在应该可以了。