繁体   English   中英

在更新DataMapper ORM CodeIgniter上验证数据

[英]Validate data on update DataMapper ORM CodeIgniter

我是CodeIgniter中DataMapper ORM的新手,这是我的问题。 根据手册:

请谨慎使用此方法。 不受限于where语句或类似方法,它将修改表上的每一行!

此外,此方法会绕过验证,并且还可以对表内外键进行操作,因此请注意风险。

如果更新方法绕过验证,那么在更新之前更新记录进行验证的方法是什么? 示例代码将不胜感激。

如果尝试$ obj-> save(); 和动态验证规则(取决于某些$ _POST变量),但仍然没有验证,

尝试使用$ obj-> force_validation(); 在$ obj-> save();之前;

DataMapper ORM无法验证,因为它只能对首先获取的数据进行验证。 使用UPDATE可使MySQL修改字段,而无需检查最终的PHP验证功能。

解决方案是首先获取所需的所有行,然后使用save()函数。 然后将完成PHP端验证。

http://datamapper.wanwizard.eu/pages/save.html

我对DataMapper ORM有点生疏,但是下面的示例应该说明您应该做什么:

$users = new User();
$users->where('age', 25)->get();
foreach($users as $user)
{
    $user->age = 26;
    $user->save();
}

update()方法不过是$ this-> db-> update()的别名。

它仅检查是否需要将更新时间戳记添加到已更新的记录,并确保传递的字段存在于您要更新的表中。

要更新对象,请使用save()。 它将自动确定是否需要INSERT或UPDATE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM