2012-06-29 89 views
0
问题

我不明白为什么我不能够基于下面的代码数据库更新字段:CakePHP的1.3:与saveField

$this->User->id = 1; 
$this->User->saveField('image','img/default_pic.png'); 

基本上,我想改变与数据库的当前图像一个新的。

上面的代码只是清除当前在image字段中的值,但不会添加任何内容。

作为一个例子,这是发生了什么:

id username image 
============================= 
1  admin  mypic.jpg 
2  john  johnPic.jpg 

后上面的代码被执行,我得到以下结果

id username image 
============================= 
1  admin  
2  john  johnPic.jpg 

我在什么是真正发生

+0

试试这个: $这个 - >用户 - > id = 1; $ this-> User-> saveField('image','default_pic.png'); – chetanspeed511987

+0

它不工作...我没有得到它 –

回答

2

已解决!

我决定回去检查我的user.php模型课程,并意识到我曾尝试过使用MeioUpload并放弃,但我从未删除var actsAs条目。

只要我评论出来,我现在能够上传图片。

对于任何其他人可能会遇到这个问题,beforeSave也可能引起这些类型的问题,按照下面的博客:http://blog.phplabs.net/2011/11/cakephp-savefield-not-working.html

感谢,

1

困惑SQL日志说什么发生了什么?

我的猜测是,你实际上是做一些像

$this->User->saveField('image', $variable) 

$variable要么拼写错误或为空。

+0

我想,这就是为什么我试着用一个实际的字符串。你在我的问题上看到的代码是我正在使用的实际代码。我将检查mysql转储以查明发生了什么 –

+0

它通过jQuery提交,我不知道如何完成像这样的'sql_dump'。我试过'CakeLog :: write('debug',$ this-> element('sql_dump'));'但它没有写任何东西。 –

+0

固定! 'user.php'模型,'actsAs'问题。检查我的答案上面....感谢您的帮助,但 –