0

我有一个模型位于我的模块的类文件夹中:

public static $definition = array(
    'table' => 'myTable',
    'primary' => 'id',
    'multilang' => false,
    'fields' => array(
        'day' => array('type' => self::TYPE_INT, 'required' => true),
        'hours' => array('type' => self::TYPE_STRING, 'required' => false),
        'active' => array('type' => self::TYPE_BOOL, 'required' => false),
    ),
);

我想添加一个字段 category_id ,我这样做了:

public static $definition = array(
    'table' => 'MyTable',
    'primary' => 'id',
    'multilang' => false,
    'fields' => array(
        'day' => array('type' => self::TYPE_INT, 'required' => true),
        'hours' => array('type' => self::TYPE_STRING, 'required' => false),
        'active' => array('type' => self::TYPE_BOOL, 'required' => false),
        'category_id' => array('type' => self::TYPE_INT, 'required' => true)
    ),
);

但是当我创建时new MyTable,我没有看到新字段,我认为这是一个缓存问题,但我不知道如何解决它。

4

2 回答 2

0

将任何课程直接放在 calsses 文件夹中并不是一个好习惯,因为这些文件可以在自动升级中删除。

为了获得最佳实践,请将您的类放在 override/classes 文件夹中。然后转到缓存文件夹并找到文件“class_index.php”并删除该文件。

注意:class_index.php 是 PS 自动生成的文件,它在其中索引所有类和控制器,因此它节省了在加载类或控制器期间在文件夹中搜索文件或类的时间。因此,对于任何新的类或控制器,应删除此文件,否则该类或控制器将不起作用。因此,如果您删除它,那么在下一次运行或向 PS 请求时,它将自动重新生成,并且您的课程也将在其中编制索引。

于 2013-09-27T20:37:49.580 回答
0

解决了,对于那些有同样错误的人,我模块中的类被移动到/classes文件夹中,所以你也需要编辑这些类。

于 2013-09-27T11:46:46.977 回答