Я пытаюсь преобразовать этот MySql запрос
SELECT appcs_training.name, appcs_training.id FROM appcs_training
WHERE appcs_training.id
NOT IN (SELECT training_id FROM appcs_user_purchased_trainings WHERE user_id = 54)
в queryBuilder, но я снова и снова получаю следующую ошибку ... Буду признателен вам помогите решить это.
[Semantical Error] line 0, col 57 near 'training FROM': Error: Invalid PathExpression. Must be a StateFieldPathExpression.
А это мой код:
public function findNonPurchasedTrainingsByUserId($userId)
{
$expr = $this->em->getExpressionBuilder();
return $this->em->createQueryBuilder()
->select('t')
->from('App:Training', 't')
->where($expr->notIn(
't.id',
$this->em->createQueryBuilder()
->select('ut.training')
->from('App:UserTraining', 'ut')
->where('ut.user = :userId')
->setParameter('userId', $userId)
->getDQL()
))
->getQuery()
->getResult();
}