私は FOSUserBundle を使用しており、いくつかの新しいフィールド (deviceVersion (string) & deviceType (string) など) を持つ独自のモデルを作成しました。
新しいユーザーを作成して特定のフィールドを追加すると、すべて問題ありません。
$user = new User();
$user -> setEmail('test@some.tld');
// Default stuff
$user -> setDevicetype('Android');
$user -> setDeviceversion('4.2.2');
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
echo $user->getDevicetype(); // outputs Android
echo $user->getDeviceversion(); // outputs 4.2.2
問題は、データベースのフィールド「devicetype」と「deviceversion」が NULL であることです。
クエリでさえ、これらの新しいフィールドを完全に無視します。
INSERT INTO my_user (username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expired, expires_at, confirmation_token, ....
列は存在し、php app/console doctrine:schema:update --force --env="dev"
問題なく列を作成します。
これを解決する方法はありますか?私は最初にUserManagerを試しましたが、まだNULLで、EM経由で手動に切り替えましたが、まだNULLです。