所以我有一个使用CodeIgniter的后端,它的本地ActiveRecord用于管理我的基本数据对象。 ActiveRecord类添加了几个字段来帮助它找出如何关联对象(即“_class_name”,“_table”,“_columns”)。当我将这些对象发送到前端时,将包含这些字段。我不想这样做,所以我创建了一个消毒功能,在发送到前端之前将其清除。AngularJS资源节约和后端ORM映射
现在,当我在前端,角度管理我所有的资源,并且在$ resource上调用$ save()时,它将json对象发送到后端。然后,在后端我把这种JSON与物体:
$blob = unserialize(sprintf(
'O:%d:"%s"%s',
strlen('Blob'),
'Blob',
strstr(strstr(serialize($blob), '"'), ':')));
这接通JSON对象到一个BLOB类,它扩展ActiveRecord的。现在的问题是,因为我在将对象发送到前端之前剥离了ActiveRecord帮助属性...当我在后端进行update()时,显然无法正确保存它,因为缺少这些属性。
所以我的问题是...有什么可以帮助这个过程? 我的基本目标是将最小的Blob类发送到前端(避免使用ActiveRecord属性),然后在保存时以某种方式做一些后端魔术,以重新将准系统Blob类重新关联到其ActiveRecord版本,以便它可以自行保存。 我不介意研究新的ORM库...
谢谢! Ryan
感谢法尔汉。看起来像$ this-> db-> update('Class',$ o);可能会诀窍,但我需要删除对象上的所有无关属性,因为update()会手动检查传递它的对象中的属性,尝试将它们设置在数据库中。我可能会编写一些辅助方法来完成所有这些工作,但是如果有人知道可以在这种情况下提供帮助的库,而不需要太多开销,那么请让开发人员知道!谢谢。 – 2013-03-22 20:11:42
只注意到活动记录保存保留了关系,而此db-> update()方法只能处理该单个类的基本属性。 – 2013-03-22 20:20:13