如何使用CakePHP更新表中项目的单个属性

djrtb

我正在尝试仅更新数据库中保存的用户的一条信息,cakephp接受每个属性的值数组,但是我没有其他属性的值,cakephp不会更新该行,因为它是期望在该行中找到所有值。

普拉迪普

第一种方式:使用query()创建一个新的Query对象:

       $users = TableRegistry::get('Users');
       $query = $users->query();
       $query->update()
       ->set(['is_active' => true])
       ->where(['id' => $id])
       ->execute();

http://book.cakephp.org/3.0/en/orm/query-builder.html


第二种方法:使用PatchEntity


在将数据创建或合并到实体中时使用fieldList()选项:

这将允许您仅更新或插入您想要的字段

         $user = $this->Users->get($id);
         if ($this->request->is(['post', 'put'])) {

            //assume $this->request->data Contains field as ['name' => 'myname', 'title' => 'Hacked!'];

            $user = $this->Users->patchEntity($user, $this->request->data, [
                  'fieldList' => ['title']]);
             // Only allow title to be changed

            if ($this->Users->save($user)) {
                $this->Flash->success(__('Your user has been updated.'));
                return $this->redirect(['action' => 'index']);
            }
            $this->Flash->error(__('Unable to update your user.'));
        }

http://book.cakephp.org/3.0/en/orm/saving-data.html#changing-accessible-fields

http://book.cakephp.org/3.0/en/orm/query-builder.html#updating-data

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更新Azure表实体中的单个属性

来自分类Dev

如何更新FlatList项目的属性?

来自分类Dev

如何使用MySQL从表中获取特定项目的计数

来自分类Dev

如何以编程方式在Sitecore中禁用单个项目的索引更新

来自分类Dev

获取JavaScript数组中项目的单个属性

来自分类Dev

如何更新样式表的单个属性?

来自分类Dev

如何在不更新ReactJs中数组的每个列表的情况下更新数组列表中单个项目的状态

来自分类Dev

如何在选择或单击列表中的单个项目时更新 FlatList 中所有项目的 UI 设计

来自分类Dev

如何使用索引设置项目的属性?

来自分类Dev

如何使用单个更新查询交换表中的列值

来自分类Dev

如何轮询列表中项目的更新?

来自分类Dev

如何在recyclerview中更新单个项目?

来自分类Dev

如何在cakephp项目的webroot中运行php文件

来自分类Dev

无法从 DynamoDB 表中获取项目的属性

来自分类Dev

如何使用jQUery中的数据属性更新表中的数据

来自分类Dev

如何使用SmartFormat.NET使用集合中项目的属性

来自分类Dev

如何使用SmartFormat.NET使用集合中项目的属性

来自分类Dev

如何使用jquery在选择中获取项目的css属性值

来自分类Dev

如何使用LINQ获取不同表中项目的总库存

来自分类Dev

如何修改模型中特定项目的属性

来自分类Dev

显示反应中单个项目的总和

来自分类Dev

更改 ListView 中单个项目的 TextView

来自分类Dev

单个项目的索引使用 ANY(ARRAY[...])

来自分类Dev

如何使用yii2中的单个操作更新将存储在不同表中的多个图像

来自分类Dev

如何在具有其他项目的解决方案中编译单个项目?

来自分类Dev

如何使用 setState(带有类组件)更新对象数组中的单个属性?

来自分类Dev

如何使用会话属性在 Hybris 中对单个表进行灵活的搜索查询限制?

来自分类Dev

如何在单个查询中使用联接和聚合函数更新表中的多行

来自分类Dev

如何使用实体框架在单个事务中更新子表和父表?

Related 相关文章

  1. 1

    如何更新Azure表实体中的单个属性

  2. 2

    如何更新FlatList项目的属性?

  3. 3

    如何使用MySQL从表中获取特定项目的计数

  4. 4

    如何以编程方式在Sitecore中禁用单个项目的索引更新

  5. 5

    获取JavaScript数组中项目的单个属性

  6. 6

    如何更新样式表的单个属性?

  7. 7

    如何在不更新ReactJs中数组的每个列表的情况下更新数组列表中单个项目的状态

  8. 8

    如何在选择或单击列表中的单个项目时更新 FlatList 中所有项目的 UI 设计

  9. 9

    如何使用索引设置项目的属性?

  10. 10

    如何使用单个更新查询交换表中的列值

  11. 11

    如何轮询列表中项目的更新?

  12. 12

    如何在recyclerview中更新单个项目?

  13. 13

    如何在cakephp项目的webroot中运行php文件

  14. 14

    无法从 DynamoDB 表中获取项目的属性

  15. 15

    如何使用jQUery中的数据属性更新表中的数据

  16. 16

    如何使用SmartFormat.NET使用集合中项目的属性

  17. 17

    如何使用SmartFormat.NET使用集合中项目的属性

  18. 18

    如何使用jquery在选择中获取项目的css属性值

  19. 19

    如何使用LINQ获取不同表中项目的总库存

  20. 20

    如何修改模型中特定项目的属性

  21. 21

    显示反应中单个项目的总和

  22. 22

    更改 ListView 中单个项目的 TextView

  23. 23

    单个项目的索引使用 ANY(ARRAY[...])

  24. 24

    如何使用yii2中的单个操作更新将存储在不同表中的多个图像

  25. 25

    如何在具有其他项目的解决方案中编译单个项目?

  26. 26

    如何使用 setState(带有类组件)更新对象数组中的单个属性?

  27. 27

    如何使用会话属性在 Hybris 中对单个表进行灵活的搜索查询限制?

  28. 28

    如何在单个查询中使用联接和聚合函数更新表中的多行

  29. 29

    如何使用实体框架在单个事务中更新子表和父表?

热门标签

归档