Function Symfony-连接表API返回
我创建了两个带有字段的联接表,并进行了一个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('
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);您正在将其应用于用户,而不是配置,对吗?我认为没有足够的信息给您准确的答案。谢谢您的重播。我更新了代码!我认为我走对了路。