我是PHP的新手。我在cakePHP上的现有网站上工作。由于客户端的一些要求,我不得不在数据库的一个表中添加一个新列。除了我最近创建的那个字段外,我可以进入所有字段。我想这个问题是因为脚手架中没有这个问题。但我不知道如何解决这个问题。
只需在array('fields'=>'*'
中添加$this->Model_name->find('first',array('fields'=>'*'))
),我就可以在从数据库中提取时访问该字段。
我尝试过制作新插入$this->request->data['ModelName']['field_name'] = 'value';
在使用保存功能之前。但问题是所有字段都被插入,除了我添加的这个新字段。
我希望事情很清楚。
答案 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_*