使用行 id 以外的键更新蛋糕 php 中的记录

Posted

技术标签:

【中文标题】使用行 id 以外的键更新蛋糕 php 中的记录【英文标题】:Update record in cake php using key other than row id 【发布时间】:2014-02-21 11:05:39 【问题描述】:

我有一个数据库表,其中与数据一起,provider_id 也是唯一的。现在我有一组数据,其中我得到了 provider_id 而不是行 ID。那么是否可以使用provider_id 编辑行?

【问题讨论】:

【参考方案1】:

如果你不想使用主键,那么 updateAll() 似乎是你的朋友

http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-updateall-array-fields-array-conditions

【讨论】:

【参考方案2】:

通过执行以下操作获取要编辑的行:

$row = $this->ModelName->findByProviderId($data['provider_id']);

现在修改你喜欢的 $row:

$row['some_field'] = 'someValue';

然后你可以使用Model::save()like:

$this->ModelName->save($row);

只要$row 有你模型的primaryKey 字段,一般是id,Model::save() 就会执行更新。

【讨论】:

【参考方案3】:

试试这个:

让模型为“联系人”。

$this->Contact->updateAll(
     array( 'Contact.any field' => 'value' ),   //fields to update ex. Contact.name
     array( 'Contact.provider_id' => $id )  //condition $id is the provider_id
);

谢谢

【讨论】:

以上是关于使用行 id 以外的键更新蛋糕 php 中的记录的主要内容,如果未能解决你的问题,请参考以下文章

内联可编辑行以使用 ajax php 更新数据库 mysql 中的每个记录

如何使用 laravel php 中的复选框使用 ajax 更新多条记录?

用 Oracle 中同一张表中的其他行数据更新一行

如何使用 php mysqli 更新超过 99 的多行

更新 JSONField() 中的键值

PYSPARK:根据条件用另一个行值更新一行中的值?