Я написал 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;