PHP - возвращение дерева результатов - PullRequest
0 голосов
/ 02 апреля 2019

Я написал API в моем проекте Symfony, чтобы вернуть всю учетную запись пользователя.Эта часть работает.Теперь мне нужен совет, как вернуть список всех учетных записей этого пользователя в многопоточном режиме.Он должен вернуть дерево учетных записей - account -> children -> их children.

Мой код:

 public function getAccounts(User $user)
{
    $query = $this->getAccountRepository()
        ->createQueryBuilder('a')
        ->select('a')
        ->where('a.user = :user')
        ->setParameter('user', $user)
        ->getQuery();

    return $query;
}

И в моем контроллере я звоню:

public function getUserAccountsPaginatedAction()
{
    $result = $this->get('account.service')->getAccounts($user);

    return $this->success($result, null, ['data']);
}

И я думаю, что вещь, которую я пытаюсь вытащить, находится внутри сущности, поэтому я делюсь кодом:

class Account extends BaseEntity
 {
   /**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 * @Groups({"data"})
 */
   protected $id;

/**
 * @ORM\ManyToOne(targetEntity="LaunchPad\Base\Entity\Account\User")
 * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 * @Groups({"data"})
 */
private $user;

/**
 * @ORM\Column(name="parent_account_id", type="integer", nullable=true)
 * @Groups({"data"})
 */
private $parentAccount;
...