我有一个自定义类,它根据参数的typehint填充控制器的动作参数。这适用于文档(使用公共属性和setter)。学说(Mongo)持续部分文档
我的目标是使控制器简单:
function updateAction(Article $article)
{
$dm = new DocumentManager(); // code elsewhere
$dm->merge($article);
$dm->flush();
return $this->redirect('/article/' . $article->getId());
}
的问题是,在输入供应领域以编程方式填充Article类不包含Article类的属性所有(也许编辑表单只包含标题和内容,但是无视作者等)。
我一直希望ID的存在将允许文档与数据库中当前正在合并。但是,在合并时丢失的任何字段将从数据库中的文档中删除。
有没有更新文件的方式,只有存在的字段(非空,我猜)更新?
这将是一个很好的解决方案,如果我将被装载在从蒙戈控制器的文章。这是基于HTTP请求预先填充控制器动作参数的框架的一部分(因此,在您访问控制器时已经获取了该文章)。 – efritz