Я работаю с платформой API и попытался установить LexikJWTAuthenticationBundle . Когда я зашел к администратору моей платформы API, он показывает мне ошибку связи с сервером, и моя консоль говорит:
ERROR: column u0_.id does not exist at character 8
Я нашел его в Google и нашел stackoverflow.com, но не нашел решения для моей конкретной проблемы.
Это мой User.php:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use ApiPlatform\Core\Annotation\ApiResource;
/**
* @ApiResource()
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
* @UniqueEntity(fields={"username"}, message="There is already an account with this username")
*/
class user implements UserInterface, \Serializable
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, unique=true)
*/
private $email;
/**
* @ORM\Column(type="string", length=255, unique=true)
*/
private $username;
/**
* @var string The hashed password
* @ORM\Column(type="string")
*/
private $password;
public function getId(): ?int
{
return $this->id;
}
/**
* A visual identifier that represents this user.
*
* @see UserInterface
*/
public function getUsername(): string
{
return (string) $this->username;
}
public function setUsername(string $username): self
{
$this->username = $username;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
public function getRoles()
{
return [
'ROLE_USER'
];
}
/**
* @see UserInterface
*/
public function getPassword(): string
{
return (string) $this->password;
}
public function setPassword(string $password): self
{
$this->password = $password;
return $this;
}
/**
* @see UserInterface
*/
public function getSalt()
{
}
/**
* @see UserInterface
*/
public function eraseCredentials()
{
// If you store any temporary, sensitive data on the user, clear it here
// $this->plainPassword = null;
}
public function serialize()
{
return serialize([
$this->id,
$this->username,
$this->email,
$this->password
]);
}
public function unserialize($string)
{
list(
$this->id,
$this->username,
$this->email,
$this->password
) = unserialize($string, ['allowed_classes' => false]);
}
}
Вот полное сообщение об ошибке:
db_1 | 2019-11-08 14:01:56.997 UTC [323] ERROR: column u0_.id does not exist at character 8
db_1 | 2019-11-08 14:01:56.997 UTC [323] STATEMENT: SELECT u0_.id AS id_0, u0_.email AS email_1, u0_.username AS username_2, u0_.password AS password_3 FROM user u0_ ORDER BY u0_.id ASC LIMIT 30