Как связать Json с сущностью в Symfony2


Я разрабатываю систему продаж с интерфейсом iPad и сервером на базе Symfony2. Связь между ними осуществляется методом POST в формате JSON.

Я видел, что существует возможность привязки формы к сущности, но я не знаю, возможно ли это сделать, если я получу объект 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();

Есть ли какой-нибудь способ связать JSON, полученный по ПОЧТЕ, с моей организацией по продаже, не прибегая ко всем этим неприятным установщикам?

Author: Cybermaxs, 2013-01-10

1 answers

То, что вы ищете, называется Serialization.

Вы можете использовать компонент сериализатора по умолчанию , предоставляемый Symfony 2, но более удобным подходом было бы использование JMSSerializerBundle.

 3
Author: iamdto, 2013-01-10 12:35:00