私は2つの日付の間、私のDBに検索クエリビルダを、持っています。 私は、検索00:00:00から23:59:59なければならないことを指定することはできません。 あなたは知っていますか、私はそれを置く必要がありますか?すべての私の試みはエラーに終わった。symfonyの検索
public function searchAction(Request $request){
// TODO MAXLIMIT
$defaultData = [];
$form = $this->createFormBuilder($defaultData)
->add('from', DateType::class, [
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
'attr' => [
'class' => 'datepicker'
]
])
->add('to', DateType::class, [
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
'attr' => [
'class' => 'datepicker2'
]])
->add('submit', SubmitType::class)
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager()->getRepository('BudgetBundle:Debit');
$from = $form['from']->getData();
var_dump($from);
$to = $form['to']->getData();
$debits = $em->getByDate($from, $to);
return $this->render('@Budget/Views/search.html.twig', ['form' => $form->createView(), 'debits' => $debits]);
}
私のレポ:
public function getByDate($from, $to){
$qb = $this->createQueryBuilder("d");
$qb
->where('d.date BETWEEN :from AND :to')
->setParameter('from', $from->format('d-MM-yy' . '00:00:00'))
->setParameter('to', $to);
return $result = $qb->getQuery()->getResult();
}
JSビュー:
<script>
$(function() {
$("#form_from").datepicker({
firstDay: 1,
altField: "#datepicker",
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
weekHeader: 'Sem.',
dateFormat: 'dd-mm-yy'});
$("#form_to").datepicker({
firstDay: 1,
altField: "#datepicker",
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
currentText: 'Aujourd\'hui',
monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthNamesShort: ['Janv.', 'Févr.', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc.'],
dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
dayNamesShort: ['Dim.', 'Lun.', 'Mar.', 'Mer.', 'Jeu.', 'Ven.', 'Sam.'],
dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
weekHeader: 'Sem.',
dateFormat: 'dd-mm-yy'}); });
ここ
は私のコントローラであり、
まず、DateTime操作では、「Carbon' http://carbon.nesbot.com/」を使用することをお勧めします。 –