1
我有一个使用两个表的过滤器函数的问题。 第一个“eventcheckin-table”用于通过特定事件的预订ID检查客人。因此,它还应该验证ID是否已经签入。尚未签入的ID应作为“实体”字段中的一个选项提供。我试图用以下方式解决这个问题:Symfony2:如何在表单(查询生成器)中使用左连接和isnull?
SELECT booking.booking_id FROM booking LEFT JOIN event_checkin ON `event_checkin.booking_booking_id = booking.booking_id WHERE` event_checkin.booking_booking_id IS NULL
它工作正常。
我对Symfony2的窗体生成溶液是
->add('bookingBooking', EntityType::class, array (
'class' => 'AppBundle:Booking',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('b')
->leftjoin('AppBundle:EventCheckin', 'e', 'with', 'e.bookingBooking = b.Id')
->expr()->isNull('e.bookingbooking');
},
'label' => 'Booking-ID: * ',
))
Symfony的显示此消息
预期类型的变量 “学说\ ORM \ QueryBuilder的”,给出 “串”
我该如何解决这个问题?
感谢您的帮助。 ;)
它工作正常!非常感谢你。你帮了我很多。 :) –