Я объединил две таблицы (Политика и Транспорт) в отношениях один к одному. Я хочу получить записи из транспортного средства, где vehicle.policy является нулевым - PullRequest
1 голос
/ 21 мая 2019

Я создаю Политику Формы Формы, в которой я хочу показать, что эти транспортные средства еще не используются или не связаны с политикой, так как это отношение один к одному, и я использую query_builder для этой цели, но я не получаю отфильтрованные результаты.

$form = $this->createFormBuilder($policy)
    ->add('vehicle', EntityType::class,[
          'class'=>Vehicle::class,
          'label' => 'Vehicle Plate',
          'query_builder' => function (VehicleRepository $vr){
          return $vr->createQueryBuilder('vehicle')
                 ->andWhere('vehicle.policy IS NULL');
           }])

Но я получаю эту ошибку

Однозначное выражение пути к обратной стороне не поддерживается в запросах DQL. Вместо «vehicle.policy» используйте явное соединение.

1 Ответ

0 голосов
/ 21 мая 2019

Попробуйте это:

$form = $this->createFormBuilder($policy)
->add('vehicle', EntityType::class,[
      'class'=>Vehicle::class,
      'label' => 'Vehicle Plate',
      'query_builder' => function (VehicleRepository $vr){
             return $vr->createQueryBuilder('v')
             ->leftJoin('v.policy', 'policy')
            ->where('policy is NULL');
       }])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...