我有控制器,其中定义了路线
/**
* @Route("/", options={"expose"=true}, name="AppBundle_Frontend_index")
* @Template
*/
public function indexAction(Request $request)
{
$form = $this->get('form.factory')->createNamed(null, SearchCarsType::class, new SearchCars());
$form->handleRequest($request);
$formView = $form->createView();
if ($form->isSubmitted()) {
$cars = $this->get('app.car_repository')->findByForm($form->getData());
$response['success'] = true;
return new JsonResponse( $response );
} else {
$cars = $this->get('app.car_repository')->findAll();
}
return [
'cars' => $cars,
'form' => $formView
];
}
我有src / From / Model我获取表单数据
class SearchCars
{
public $capacityFrom;
public $capacityTo;
public $orderBy;
}
我有ajax
$("#searchCars").submit(function (e)
{
e.preventDefault();
var url = Routing.generate('AppBundle_Frontend_index');
var formSerialize = $(this).serialize();
$.post(url, formSerialize, function (response)
{
console.log(response);
}, 'JSON');
});
当我按下提交按钮时,我的表单已发布,我可以读取通过ajax发布的数据。问题是我无法将其添加到我的表单模型中,因此可以将它们传递到我的存储库以使用查询构建器进行自定义搜索。我可以使用$ request-> get('data_name')在控制器中获取数据,但我无法将其发送到模型。 有什么建议吗?