首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中的更新中重置为CakePHP默认值

在MySQL中的更新中重置为CakePHP默认值
EN

Stack Overflow用户
提问于 2012-08-13 23:01:07
回答 2查看 520关注 0票数 1

我想知道如何在DEFAULT中执行更新操作时,将字段重置为MySQL值(MySQL结构中设置的字段)。类似于在SQL中使用DEFAULT关键字:

代码语言:javascript
复制
INSERT INTO items (position) VALUES (DEFAULT);

编辑:我不是,不是在create上搜索使用默认值的方法,而是寻找一种方法,当字段已经被使用时,将其重置为默认的字段。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-14 09:59:55

要回答我自己的问题,可以这样做:

代码语言:javascript
复制
$this->Item->saveField('position', DboSource::expression('DEFAULT(position)'));

代码语言:javascript
复制
$data['Item']['position'] = DboSource::expression('DEFAULT(position)');
$this->Item->save($data)

DboSource,但--现在我们来看看所浪费的时间:为了能够使用,在之前必须有一个数据库查询!否则,CakePHP抛出错误Class 'DboSource' not found

票数 0
EN

Stack Overflow用户

发布于 2012-08-14 04:18:10

如果要将表单输入的默认值保存到mysql数据库中,可以简单地将表单输入从请求的数组中取消。您可以尝试以下方法来实现相同的目标:

代码语言:javascript
复制
$item_details = $this->request->data;
unset($item_details['Item']['position']);
$this->Item->create();
$this->Item->save($item_details);

根据您编辑的问题,如果要在更新记录期间重置任何字段。您只需使用MySql默认()函数即可。

代码语言:javascript
复制
$item_details = $this->request->data;
$this->Item->id = $item_details['Item']['id'];
$this->Item->saveField('position', DboSource::expression('DEFAULT(position)'));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11943488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档