2017-11-24 1 views
-3

Ich versuche, einen Benutzer manuell zu erstellen. aber ich bekomme folgenden Fehler. Im Grunde ist es Post-Werte als nullSymfony 3 UserBundle Benutzer erstellen Spalte 'Name' kann nicht null sein

kehrt Ich möchte einen neuen Benutzer mit FosUserBundle auf Symfony erstellen 3.

Ich habe diesen Fehler habe: Eine Ausnahme trat während der Ausführung von ‚INSERT INTO Benutzer (Benutzername, username_canonical, email, email_canonical, aktiviert, salt, passwort, last_login, confirmation_token, password_requested_at, rollen, n ame, lastname) WERTE (?,?,?,?,?,?,?,?,?,?,?,?, ?) 'mit Parametern ...

und 1048 Spalte' name 'kann nicht null sein.

Ich habe ähnliche Frage gefunden, aber ich habe keine Lösung.

Wie kann ich es lösen?

+0

Ich fand ähnliche Frage, aber ich - könnten Sie Ihre Frage bearbeiten und Link hinzufügen. –

+0

Der Fehler sagt alles. 'Spalte 'name' darf nicht null sein'. Entweder übergeben Sie keinen Wert (oder einen Nullwert) als Namensparameter, oder Sie haben ein Leerzeichen in 'name'. Werfen Sie einen Blick auf Ihre Aussage. –

+0

Ich benutze PHP bin/console fos: user: create, so dass ich keine Fehler auf den Namen des Space machen kann. – Marcux

Antwort

0

name ist keine Eigenschaft des Basisbenutzermodells im FOS-Benutzerpaket, was bedeutet, dass es eine Eigenschaft in Ihrer Benutzerklasse ist, die es erweitert. Wenn Sie einen Nutzer mit der CLI hinzufügen, werden normalerweise nur der Benutzername, die E-Mail-Adresse und das Passwort angegeben. Wenn Ihre benutzerdefinierte name-Eigenschaft keine Null zulässt, dann verwenden Sie die CLI auf diese Weise mit der Ausnahme.

Um dies zu beheben, ändern Sie Ihre Benutzerklassenname-Eigenschaft als solche:

/** 
* @ORM\Column(name="user_name", type="string", nullable=true) 
*/ 
private $name; 

aktualisieren dann Ihr Schema

php bin/console doctrine:schema:update --force 

Auch name könnte in Lehre reserviertes Schlüsselwort werden. Ich kann mich nicht sicher erinnern (es ist in MySQL, also würde ich denken, es wäre). Wenn dies der Fall ist, geben Sie Ihrer Spalte einen eindeutigeren Namen wie "Nutzername" oder geben Sie sie an.

Mehr dazu: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#quoting-reserved-words

0

Vielen Dank, ich fand das Problem.

Verwandte Themen