• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Doctrine aktualizacja pola

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
250 wizyt
pytanie zadane 16 września 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)

Cześć.

Próbuje zaktualizować wybrane pole w MySql tą metodą:

 $en = $this->getDoctrine()->getManager();
               $users = $en->getRepository(User::class);//->findBy(['username' => $lastUsername]);

                $query = $users->createQueryBuilder('u')
                     ->update('User')
                     ->where('u.username :lastUser')
                     ->setParameter('lastUser', $lastUsername)
                     ->set('u.loginAttempt','4')
                     ->getQuery();

                  $update = $query->getResult();

Lecz dostaje taki błąd :

[Semantical Error] line 0, col 7 near 'User SET u.loginAttempt': Error: Class 'User' is not defined.

Czy ktoś ma jakiś pomysł ?

1 odpowiedź

+1 głos
odpowiedź 16 września 2019 przez Ehlert Ekspert (214,530 p.)
wybrane 17 września 2019 przez michal_php
 
Najlepsza
Doctrine nie rozumie co to User. Musisz mi podać FQCN albo User::class.
komentarz 16 września 2019 przez michal_php Stary wyjadacz (13,700 p.)

User::class 

class User
{
    /** @var Id */
    private $id;

    /** @var string */
    private $username;

    /** @var string */
    private $email;

    /** @var string */
    private $password;

    /** @var null|string */
    private $firstName;

    /** @var string */
    private $lastName;

    /** @var \DateTime */
    private $createdAt;

    /** @var \DateTime */
    private $deletedAt;

    /** @var \DateTime */
    private $passwordRequestedAt;

    /** @var null|string */
    private $phoneNumber;

/** @var string */
    private $loginAttempt;
/**
     * @param Id $id
     * @param string $username
     * @param string $email
     * @param string $password
     * @param string $lastName
     * @param Role $role
     * @param null|string $firstName
     * @param null|string $phoneNumber
     */
    public function __construct(
        Id $id,
        string $username,
        string $email,
        string $password,
        string $lastName,
        ?string $firstName = null,
        ?string $phoneNumber = null,
    ) {
        $this->id = $id;
        $this->username = $username;
        $this->email = $email;
        $this->password = $password;
        $this->lastName = $lastName;
        $this->setRole($role);
        $this->firstName = $firstName;
        $this->phoneNumber = $phoneNumber;
        $this->loginAttempt = $loginAttempt;
    }

    /**
     * @return Id
     */
    public function getId(): Id
    {
        if (is_string($this->id)) {
            return Id::fromString($this->id);
        }

        return $this->id;
    }
 /**
     * @return string
     */
    public function getUsername(): string
    {
        return $this->username;
    }

    /**
     * @param string $username
     */
    public function setUsername(string $username): void
    {
        $this->username = $username;
    }

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

    /**
     * @param string $email
     */
    public function setEmail(string $email): void
    {
        $this->email = $email;
    }

    /**
     * @return string
     */
    public function getPassword(): string
    {
        return $this->password;
    }

    /**
     * @param string $password
     */
    public function setPassword(string $password): void
    {
        $this->password = $password;
    }

    /**
     * @return null|string
     */
    public function getFirstName(): ?string
    {
        return $this->firstName;
    }

    /**
     * @param null|string $firstName
     */
    public function setFirstName(?string $firstName): void
    {
        $this->firstName = $firstName;
    }

    /**
     * @return string
     */
    public function getLastName(): string
    {
        return $this->lastName;
    }

    /**
     * @param string $lastName
     */
    public function setLastName(string $lastName): void
    {
        $this->lastName = $lastName;
    }

    /**
     * @return \DateTime
     */
    public function getCreatedAt(): \DateTime
    {
        return $this->createdAt;
    }

    /**
     * @return \DateTime
     */
    public function getDeletedAt(): ?\DateTime
    {
        return $this->deletedAt;
    }

    /**
     * @param \DateTime $deletedAt
     */
    public function setDeletedAt(?\DateTime $deletedAt): void
    {
        $this->deletedAt = $deletedAt;
    }

    /**
     * @return \DateTime
     */
    public function getPasswordRequestedAt(): \DateTime
    {
        return $this->passwordRequestedAt;
    }

    /**
     * @param \DateTime $passwordRequestedAt
     */
    public function setPasswordRequestedAt(\DateTime $passwordRequestedAt): void
    {
        $this->passwordRequestedAt = $passwordRequestedAt;
    }

    /**
     * @return null|string
     */
    public function getPhoneNumber(): ?string
    {
        return $this->phoneNumber;
    }

    /**
     * @param null|string $phoneNumber
     */
    public function setPhoneNumber(?string $phoneNumber): void
    {
        $this->phoneNumber = $phoneNumber;
    }
 /**
     * @return string
     */
    public function getLoginAttempt(): string
    {
        return $this->loginAttempt;
    }

    /**
     * @param string $loginAttempt
     */
    public function setLoginAttempt(string $loginAttempt): void
    {
        $this->loginAttempt = $loginAttempt;
    }

Cała klasa Users

komentarz 16 września 2019 przez Ehlert Ekspert (214,530 p.)
W argumencie update daj User::class
komentarz 17 września 2019 przez michal_php Stary wyjadacz (13,700 p.)
Działa pomogło.

Dziękuje za pomoc.

Podobne pytania

0 głosów
1 odpowiedź 225 wizyt
pytanie zadane 18 października 2018 w PHP przez Tom K Nowicjusz (190 p.)
0 głosów
1 odpowiedź 398 wizyt
pytanie zadane 13 marca 2018 w PHP przez MiguelSantos Początkujący (270 p.)
0 głosów
1 odpowiedź 351 wizyt
pytanie zadane 20 sierpnia 2017 w PHP przez marcin99b Szeryf (83,930 p.)

93,190 zapytań

142,205 odpowiedzi

322,032 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2485p. - Marcin Putra
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...