无法插入蛋糕PHP中脚手架后添加的新列

时间:2013-01-21 11:30:14

标签: cakephp

我是PHP的新手。我在cakePHP上的现有网站上工作。由于客户端的一些要求,我不得不在数据库的一个表中添加一个新列。除了我最近创建的那个字段外,我可以进入所有字段。我想这个问题是因为脚手架中没有这个问题。但我不知道如何解决这个问题。

只需在array('fields'=>'*'中添加$this->Model_name->find('first',array('fields'=>'*'))),我就可以在从数据库中提取时访问该字段。

我尝试过制作新插入$this->request->data['ModelName']['field_name'] = 'value'; 在使用保存功能之前。但问题是所有字段都被插入,除了我添加的这个新字段。

我希望事情很清楚。

2 个答案:

答案 0 :(得分:2)

请阅读文档 - ModelName是CamelCased:

$this->request->data['ModelName']['field_name'] = 'value';

如果只添加了这个新字段,很可能你没有清除(peristent / model)缓存。您需要为蛋糕执行此操作以识别新添加的数据库字段。

答案 1 :(得分:1)

在你的情况下提醒我,我的错误中有两个让我无法保存我的新领域。

1确保数据库表中有新字段 在我的productin系统中,我将debug设置为0,因此模型和持久缓存不会更新。

要清除模型和持久性缓存,您可以在Configure::write('debug', 2);中设置app/Config/Core.php或在命令行中设置手动删除缓存。

rm -f app/tmp/cache/models/cake_model_*  
rm -f app/tmp/cache/persistent/cake_core_*