接受注册API调用中的特定字段

时间:2018-07-04 07:45:28

标签: php mysql api symfony

我需要在注册api调用中接受terms_id和privacy_id字段。这些字段必须是可选的。如果设备将它们发送到api调用,则需要使用它们在user_terms和user_privacy表中创建新行。

如果在没有这些参数的情况下进行了注册电话,请不要执行任何操作。

我已经对所有这些对象进行了api调用,但不像我解释的那样将它们绑定在一起。

这是我的代码。

public function register($firstName, $lastName, $email)
{
    $user = new User();
    $user->setFirstName($firstName);
    $user->setLastName($lastName);
    $user->setEmail($email);
    $rand_pass = hash('sha256', $this->uniqid);`
    $this->em->persist($user);
    $this->em->flush();

    return $user; }

Terms api调用

 public function acceptedTerms(User $user, $termsId)
{
    $terms = $this->getTermsRepository()->find($termsId);

    $termUsers = $this->getUserTermsRepository()
        ->createQueryBuilder('ut')
        ->select('ut')
        ->where('ut.terms = :terms')
        ->andWhere('ut.user = :user')
        ->setParameters([
            'terms' => $terms,
            'user' => $user,
        ])
        ->setMaxResults(1)
        ->getQuery()
        ->getOneOrNullResult();

    if(empty($termUsers)) {
        $termUsers = new UserTerms();
        $termUsers->setUser($user);
        $termUsers->setTerms($terms);
        $this->em->persist($termUsers);
        $this->em->flush();
    }

    return $termUsers;
}

相同的api调用用于隐私表。

有什么建议吗?

0 个答案:

没有答案