Итак, я работаю с fosuser! Мне удалось добавить несколько полей в свой класс
<?php
namespace mynamespace;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
class Person extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type = "integer")
* @ORM\GeneratedValue(strategy = "AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name = "about", type = "string", length=255,nullable=true)
*/
private $about;
// Change the targetEntity path if you want to create the group
/**
* @ORM\ManyToMany(targetEntity = "userBundle\Entity\Group")
* @ORM\JoinTable(name = "fos_user_user_group",
* joinColumns = {@ORM\JoinColumn(name = "user_id", referencedColumnName = "id")},
* inverseJoinColumns = {@ORM\JoinColumn(name = "group_id", referencedColumnName = "id")}
* )
*/
protected $groups;
public function __construct()
{
parent::__construct();
// your own logic
}
/**
* Get about
*
* @return String
*/
public function getAbout()
{
return $this->about;
}
/**
* Set about
*
* @param String $about
* @return User
*/
public function setAbout($about)
{
$this->about = $about;
return $this;
}
}
После этого я обновил схему своей базы данных, используя следующую команду
php bin/console doctrine:schema:update --force
Проблема в том, что когда я пытаюсь создать fos: user с командной строкой, я получаю эту ошибку
An exception occurred while executing 'INSERT INTO fos_user (username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, passw
ord_requested_at, roles, about) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
И я не могу вставить значение в базу данных вручную, потому что некоторые поля зашифрованы, как пароль
что я могу сделать, чтобы обновить команду fos:user:create, чтобы я мог заполнить поле "о"
Спасибо






В своей конструкции установите значение по умолчанию, чтобы при вставке в базу данных у вас не было пустого значения:
public function __construct()
{
parent::__construct();
$this->about = "default about value"; //<-- add this
// your own logic
}