Как получить результат запроса объекта как объект - PullRequest
0 голосов
/ 30 октября 2019
 $contacts = $this->getDoctrine()->getManager()
                                ->getRepository(Contact::class)
                                ->createQueryBuilder('c')
                                ->select('c')
                                ->where('c.author = :id')
                                ->setParameter('id',$this->getUser()->getId())
                                ->getQuery()->getResult(); 

Я супер-новичок в Symfony и доктрине, но я пытаюсь получить это.

Так что у меня есть какой-то результат от построения запроса как доктрина, как вы можете

как я могу получитьэтот результат в виде Json

, пока я знаю, как обойти его

foreach($contact as $contact){
  $contact->getId() // or whatever
}

, кроме того, я хочу получить весь результат в виде 1 массива объектов

Я думаю, вопрос меткаэто неправильно, надеюсь, что кто-то исправит это для меня, потому что я не объясняю, как извините

Это контактное лицо

class Contact
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;
    /**
     * @ORM\Column(type="string", length=25)
     */
    private $Name;


    /**
     * @ORM\Column(type="string", length=10)
     * @Assert\NotBlank(message="Утасны дугаар оруулна уу")
     */
    private $mobile;

    /**
     * @ORM\Column(type="string", length=25, nullable=true)
     */
    private $email;


    /**
     * @ORM\Column(type="string", length=10, nullable=true)
     * @Assert\NotBlank(message="Утасны дугаар оруулна уу")
     */
    private $mobilesecond;

    /**
     * @ORM\Column(type="string", length=25, nullable=true)
     */
    private $work;

    /**
     * @ORM\Column(type="string", length=25, nullable=true)
     */
    private $position;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\user", inversedBy="contacts")
     */
    private $author;



    public function getId(): ?int
    {
        return $this->id;
    }

    public function getName(): ?string
    {
        return $this->Name;
    }

    public function setName(string $Name): self
    {
        $this->Name = $Name;

        return $this;
    }

    public function getEmail(): ?string
    {
        return $this->email;
    }

    public function setEmail(string $email): self
    {
        $this->email = $email;

        return $this;
    }

    public function getMobile(): ?string
    {
        return $this->mobile;
    }

    public function setMobile(string $mobile): self
    {
        $this->mobile = $mobile;

        return $this;
    }

    public function getMobilesecond(): ?string
    {
        return $this->mobilesecond;
    }

    public function setMobilesecond(string $mobilesecond): self
    {
        $this->mobilesecond = $mobilesecond;

        return $this;
    }

    public function getWork(): ?string
    {
        return $this->work;
    }

    public function setWork(string $work): self
    {
        $this->work = $work;

        return $this;
    }

    public function getPosition(): ?string
    {
        return $this->position;
    }

    public function setPosition(string $position): self
    {
        $this->position = $position;

        return $this;
    }

    public function getAuthor(): ?user
    {
        return $this->author;
    }

    public function setAuthor(?user $author): self
    {
        $this->author = $author;

        return $this;
    }
}

У меня есть данные тестового контакта как

enter image description here

и я думаю, что я предпочитаю этот тип объекта

{
 ['51','dfgds','sfg','gfsgfs','s','fg','fgs','1'],
 ['54','dfg','gdf','gd','fgdf','dfgdg','fgdg','1'],
 ['55','wer','','ewe','','','erwrewwer','1'],
}

или что-либо еще

1 Ответ

0 голосов
/ 30 октября 2019

Если вы находитесь в контроллере, вы можете вернуться к объекту через => return new JsonResponse ($ objectList)

...