Я создал две таблицы JOIN с полями и сделал вызов API, который должен возвращать и отправлять целочисленные значения в основную (пользовательскую) таблицу, но я не могу правильно понять синтаксис.
Моя служба ..
public function setUserTerms($id)
{
$termsId = $this->getTermsRepository()->find($id);
$termUsers = $this->getUserTermsRepository()
->createQueryBuilder('ut')
->select('ut')
->where('ut.termsId = :termsId')
->setParameter('termsId', $termsId)
->getQuery()
->getResult();
return $termUsers;
}
Мой контроллер ..
public function getUserTermsAction()
{
$this->requirePostParams([ 'id']);
$id = $this->data['id'];
$termsId = $this->container->get('app.configuration')->setUserTerms($id);
return $this->success($termsId);
}
Я получил ошибку «Отсутствуют параметры: id» »
Спасибо за повтор. Я обновил код! Думаю, я на правильном пути.

Скорее всего, вы ищете такую логику:
В контроллере:
$term_id = $request->request->get('id');
$term = $this->getDoctrine()->getRepository(UserTerms::class)->findOneBy(['termsId'=>$term_id);
if ($term){
$user->setTerm($term);
$em->flush(); // Entity Manager
}else{
//error, no term was found.
}
// Success stuff
Это требует, чтобы у вас была правильная настройка функции "setTerm" в вашей сущности.
Это основано на Symfony 4, я считаю, что это применимо и к 3.
Требуется дополнительная информация о том, что находится внутри app.configuration. Но я считаю, что это должно быть $ user-> setAgreedTerm ($ term); Вы применяете это к пользователю, а не к конфигурации, верно? Думаю, информации недостаточно, чтобы дать вам точный ответ.