Ich arbeite an einem Projekt in Symfony2 mit einer Legacy-Datenbank, die eine Zeichenfolge verwendet, um eine 6-stellige 'Franchisee_number' mit floating 0 auf der Vorderseite - z. 000123. Wenn ich versuche, die Entität zu leeren, erhalte ich einen Fehler, der die SQL-Anweisung anzeigt, die sie versucht hat, und sie versucht nicht einmal, mein Primärschlüsselfeld einzufügen. Bis zu dem Punkt, an dem die Entity geleert wird, wird die 'franchisene_id' in der Entity angezeigt, also gehe ich davon aus, dass Doctrine den Primärschlüssel nicht festlegen, sondern generieren lassen möchte.Symfony2 Entität wird nicht mit benutzerdefinierten Primärschlüssel
Mein Problem ist dieser Frage sehr ähnlich: when flush() primary key does not get inserted, aber ich habe die Antworten ausprobiert, und sie funktionieren nicht. Hier
ist der Code von meinem Entity für das ‚franchisee_number‘ Feld:
/**
* @var string
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
* @ORM\Column(name="franchisee_number", type="string", length=255, nullable=false)
*
*/
private $franchiseeNumber;
ich davon aus, dass @ORM\GeneratedValue(strategy="NONE")
Lehre sagen würde ich meinen eigenen Wert in das Feld eingefügt, und nicht versuchen, sie zu erzeugen.
Und mein Controller-Code
public function createAction(Request $request)
{
$this->denyAccessUnlessGranted('ROLE_ADMIN');
$entity = new Accounts();
$form = $this->createCreateForm($entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager('inertia');
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('accounts_show', array('id' => $entity->getId())));
}
return $this->render('InertiaBundle:Accounts:new.html.twig', array(
'entity' => $entity,
'form' => $form->createView(),
));
}
ich auch dort sorgte dafür, dass im Bundle/Ressourcen/config/Lehre Verzeichnis keine XML-Konfigurationsdateien wurden.
Vielen Dank im Voraus für die Hilfe!
mir verzeihen, wenn ich naiv bin, aber mit dieser Methode ist es sogar möglich, die ID auf die Daten von meiner Form zu setzen? Ich bin ziemlich neu in Symfony, also könnte ich hier völlig falsch liegen, aber das sieht ziemlich statisch aus. Ich schaute Schritt für Schritt durch meinen Code, indem ich die Entität $ auskippte und durch die Daten schaute, und es ist alles intakt durch die Persistenz. Es ist nur beim Spülen, dass es Probleme hatte. Ist das sinnvoll? – chrislebaron