我是stackoverflow和symfony开发的新手。
问题总结:
我通过请求$ Request从控制器中的Ajax获取值。当我对对象($donate)执行var_dump时,它会返回所有数据。但是当我想冲洗时,它告诉我,我的一个属性是NULL(投影)?
有人能帮我吗?非常感谢,很抱歉我的英语不好。
class AjaxController extends Controller
{
public function addDonationAction(Request $request)
{
$projectID = (int)$request->request->get('projectID');
$donate = new Donate();
$donate->setAmount($request->request->get('donationAmount'));
$donate->setProjectID($projectID);
$donate->setUserID(1); // Faudra récupérer tout ça du user connecté !
// var_dump($donate); die();
$em = $this->getDoctrine()->getManager();
$em->persist($donate);
$em->flush();
// Faire tous les contrôles
// Envoie en DB si tout est ok
// Mise à jour : projectT
// Insert : donateT
return new JsonResponse($donate);
}
}
法国人
您好,
Je suis nouveau sur stackoverflow et dsamuant en dsamuement symfony2.
Un petit r
class AjaxController extends Controller
{
public function addDonationAction(Request $request)
{
$projectID = (int)$request->request->get('projectID');
$donate = new Donate();
$donate->setAmount($request->request->get('donationAmount'));
$donate->setProjectID(1);
$donate->setUserID(1); // Faudra récupérer tout ça du user connecté !
// var_dump($donate); die();
$em = $this->getDoctrine()->getManager();
$em->persist($donate);
$em->flush();
// Faire tous les contrôles
// Envoie en DB si tout est ok
// Mise à jour : projectT
// Insert : donateT
return new JsonResponse($donate);
}
}
如果你是一个人,你就会发现你是一个人,你会发现你是一个人。
PS: je travaille en local:-(
)谢谢你!!
首先要做的是仔细阅读Symfony Doctrine文档中的示例:http://symfony.com/doc/current/book/doctrine.html
您还没有完全掌握原则2是对象关系管理器这一事实。因此,使用projd和userId是不正确的。
你应该有三个对象:捐赠,项目,用户与适当的关系设置。然后,您将使用对Project和User的引用来构建您的Donate对象。
$projectID = (int)$request->request->get('projectID'); // Be sure to check that you have a id
$userID = $this->getUser()->getId(); // Or wherever your user object comes from
$projectReference = $em->getReference('MyBundle:Project',$projectID);
$userReference = $em->getReference('MyBundle:User',$userID);
$donate->setProject($projectReference);
$donate->setUser($userReference);
请注意,如果user始终是当前登录的用户,则不需要进行引用。