gpt4 book ai didi

php - 如何将 Json 绑定(bind)到 Symfony2 中的实体

转载 作者:可可西里 更新时间:2023-11-01 13:26:37 24 4
gpt4 key购买 nike

我正在开发一个带有 iPad 前端和基于 Symfony2 的服务器的销售系统。它们之间的通信是通过 jSon 格式的 POST 方法进行的。

我已经看到可以将表单绑定(bind)到实体中,但我不知道如果我收到一个 jSon 对象是否可以这样做。

例如,这是我在前端的内容(为简单起见,在 Javascript 中):

var sale=new Sale();
sale.client=10;
sale.user=1;
sale.product=11;
sale.quantity=100;
var jSon={"client": sale.client,
"user":sale.user,
"product":sale.product,
"quantity":sale.quantity}

$.post("http://examplepath.com/new_sale", jSon,
function (data) {
if (data) {
alert(data);
}
else {
alert("Not working :-(");
}
}
);

现在当我收到 jSon 时,我会做这样的事情:

$sale=new Sale(); //This is my entity :)
$sale->setUser($request->request->get("user"));
$sale->setClient($request->request->get("client"));
$sale->setProduct($request->request->get("product"));
$sale->setDate($date);

$em = $this->getDoctrine()->getEntityManager();
$em->persist($sale);
$em->flush();

有没有办法将 POST 收到的 jSon 与我的 Sale 实体绑定(bind),而无需执行所有那些讨厌的设置程序?

最佳答案

您正在寻找的是Serialization

您可以使用默认的 Serializer component由 Symfony 2 提供,但更方便的方法是使用 JMSSerializerBundle .

关于php - 如何将 Json 绑定(bind)到 Symfony2 中的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com