Когда я следую документации Doctrine для @OneToOne
и @JoinColumn
, чтобы создать два класса сущностей ORM, а затем пытаюсь сбросить постоянную операцию, я получаю следующую ошибку:
Ожидаемое значение типа "App \ Entity \ UserObject "для поля ассоциации" App \ Entity \ LoginObject # $ username ", вместо этого получил" string ".
Я попытался передать строку с именем пользователя и передать в ORMЭкземпляр объекта сущности объекта пользователя, который выдает ошибку, что объект входа в систему ожидает строку.В любом случае я не могу этого сделать.UserObject содержит запись пользователя.Объект LoginObject содержит метку времени события входа в систему, где имя пользователя является внешним ключом в таблице пользователей.
// UserObject.php:
class UserObject
...
/**
* @ORM\Column(type="text", unique=true)
*/
private $username;
public function getUsername(): ?string
{
return $this->username;
}
public function setUsername(string $username): self
{
$this->username = $username;
return $this;
}
...
// LoginObject.php:
/**
* @ORM\OneToOne(targetEntity="UserObject")
* @ORM\JoinColumn(name="username", referencedColumnName="username")
*/
private $username;
public function getUsername(): ?string
{
return $this->username;
}
public function setUsername(string $username): self
{
$this->username = $username;
return $this;
}
Мои ожидаемые результаты состоят в том, что я ожидал, что объект входа в систему будет вставлен в базу данных какНовая запись, однако это не так, любые советы будут полезны.Спасибо.