Function Symfony-连接表API返回

Function Symfony-连接表API返回,function,api,symfony,integer,Function,Api,Symfony,Integer,我创建了两个带有字段的联接表,并进行了一个API调用,该调用应该返回整数值并将其发布到主(用户)表,但我无法正确获取语法 我的服务 public function setUserTerms($id) { $termsId = $this->getTermsRepository()->find($id); $termUsers = $this->getUserTermsRepository() ->createQueryBuilder('

我创建了两个带有字段的联接表,并进行了一个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);
}

我得到一个错误“Missing params: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);您正在将其应用于用户,而不是配置,对吗?我认为没有足够的信息给您准确的答案。谢谢您的重播。我更新了代码!我认为我走对了路。