1
嗨,Symfony的,請獲取搜索表單Argumments後提交
我已創建使用GET方法的搜索形式,我的indexAction,表單包含的虛擬域。
我創建了indexAction內搜索的邏輯。
我的問題是當我提交表單時,所有輸入值都變空了。
我要的是保持作爲變量,表單輸入傳遞的值
這裏是我的FormType:
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('title', TextType::class, array(
'required' => false,
'attr' => array(
'placeholder' => 'Chercher',
)
))
->add('client', EntityType::class, array(
'required' => false,
'class' => 'AppBundle:Person',
'placeholder' => 'Choisir client',
'attr' => array(
'class' => 'select2',
)
))
->add('date_start', DateTimeType::class, array(
'required' => false,
'input' => 'datetime',
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
'inherit_data' => true,
'attr' => array(
'name' => 'date_start',
'class' => 'datepicker',
'placeholder' => 'Date début',
'value' => ''
)
))
->add('date_end', DateTimeType::class, array(
'required' => false,
'input' => 'datetime',
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
'inherit_data' => true,
'attr' => array(
'name' => 'date_end',
'class' => 'datepicker',
'placeholder' => 'Date fin',
'value' => ''
)
))
;
}
的的indexAction:
public function indexAction(Request $request)
{
$getArgs = $request->query->get('order');
dump($getArgs);
$form = $this->createForm('AppBundle\Form\Search\OrderType', new Order(), array('get' => $getArgs));
$form->handleRequest($request);
$repo = $this->getDoctrine()->getRepository('AppBundle:Order');
$query = $getArgs ? $repo->findAllMatched($q) : $repo->createQueryBuilder('o');
$paginator = $this->get('knp_paginator');
$orders = $paginator->paginate($query);
return $this->render('AppBundle:Order:index.html.twig', array(
'orders' => $orders,
'form' => $form->createView(),
));
}
任何建議是很好的。
將值存儲在會話中,然後在下次需要顯示錶單時檢索它們。 – Cerad
我使用formType對象生成的表單輸入,我沒有在我的模板文件上輸入,因爲我呈現{{form}},所以它不是一個合適的想法,將所有代碼更改爲html輸入並在那裏使用會話數據! –
不知道你剛剛說了什麼。你想保留標題,客戶和日期?將它們存儲在會話中,並在您的控制器中創建它們時將它們提供給您。 – Cerad