0
如何只選擇可用的商店? 我的實體有一個startDateTime和一個endDateTime。這兩個字段都有nullable = true。Symfony 2.7 EntityType - > StartDateTime和EndDateTime之間的QueryBuilder或null
如果startDateTime爲null,則不能考慮它。 對於endDateTime也是如此。
它試試這個,但與此開始和結束日期僅選擇專賣店:
$builder->add(
'firstStoreChoice',
EntityType::class,
[
'class' => 'MyBundle\Entity\Store',
'property' => 'name',
'choice_value' => 'id',
'attr' => ['data-init' => 'select2', 'data-select2-width' => '100%'],
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('s')
->where('s.startDateTime is null')
->orWhere('s.startDateTime > :now')
->andWhere('s.endDateTime is null')
->orWhere('s.endDateTime < :now')
->setParameters(['now' => new \DateTime()]);
},
]
);
存儲1: 開始:2017年5月19日9時17分02秒結束 :2017-05- 19 9時17分02秒
店2: 開始:2017年2月1日13時53分00秒結束 :2017年2月2日13時53分00秒
這些店不可用,因爲結束日期已過去。 今天是2017-05-30 09:39:00。
有人能把我推向正確的方向嗎?
謝謝您的回答。但這可悲的是不起作用。我沒有得到任何結果.... 雖然我在EndDateTime和StartDateTime <現在有零值的商店。 – goldlife
好的。是我的錯。它現在有效 - 我誤認爲lt和gt ...當然,startdate必須<現在,enddate必須>現在。請更新您的答案..比我會接受。 – goldlife
是的,這是在我的第一篇文章版本:)更新。 – miikes