2017-07-10 10 views
0

Ich habe ein kleines Problem.Fehlender Wert für Primärschlüssel-ID auf

Ich erhalte diese Störung

Fehlender Wert für Primärschlüssel-ID auf AppBundle \ Entity \ User

Das ist mein real mit Datenbank enter image description here

und dies ist meine Entitäten

/** 
* @ORM\Entity 
* @ORM\Table(name="caller_machine") 
*/ 
class CallerMachine { 

/** 
* @ORM\GeneratedValue(strategy="AUTO") 
* @ORM\Id 
* @ORM\Column(type="integer") 
*/ 
private $id; 

/** 
* @ORM\Column(type="integer", nullable=true) 
*/ 
private $buttonNumber; 

/** 
* @ORM\Column(type="text", nullable=false) 
*/ 
private $linkToMusic; 

/** 
* @ORM\Column(type="text", nullable=true) 
*/ 
private $telephoneNumber; 

/** 
* @ORM\Column(type="text", nullable=true) 
*/ 
private $acceptRegulations; 

/** 
* @ORM\ManyToOne(
*  targetEntity = "AppBundle\Entity\CallerMachineVoice" 
*) 
* 
* @ORM\JoinColumn(
*  name = "number_id", 
*  referencedColumnName = "id", 
*  nullable = false 
*) 
*/ 
private $numberMachine; 

.......

/** 
* @ORM\Entity 
* @ORM\Table(name="user_name") 
*/ 
class User { 
    /** 
    * @ORM\Column(type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\Column(type="string", length = 20, unique = true) 
    */ 
    private $username; 

...........

/** 
* @ORM\Entity 
* @ORM\Table(name="call_back_machine") 
*/ 
class CallBackMachine { 

    /** 
    * @ORM\GeneratedValue(strategy="AUTO") 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    */ 
    private $id; 

    /** 
    * @ORM\Column(type="integer", nullable=true) 
    */ 
    private $buttonNumber; 

    /** 
    * @ORM\Column(type="text", nullable=false) 
    */ 
    private $linkToMusic; 

    /** 
    * @ORM\Column(type="text", nullable=true) 
    */ 
    private $telephoneNumber; 

    /** 
    * @ORM\Column(type="text", nullable=true) 
    */ 
    private $acceptRegulations; 


    /** 
    * @ORM\ManyToOne(
    *  targetEntity = "AppBundle\Entity\CallBackMachineVoice" 
    *) 
    * 
    * @ORM\JoinColumn(
    *  name = "number_id", 
    *  referencedColumnName = "id", 
    *  nullable = false 
    *) 
    */ 
    private $numberMachine; 

.......

/** 
* @ORM\Entity 
* @ORM\Table(name="call_back_machine_voice") 
*/ 
class CallBackMachineVoice { 
    /** 
    * @ORM\Column(type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\ManyToOne(
    *  targetEntity = "AppBundle\Entity\User" 
    *) 
    * 
    * @ORM\JoinColumn(
    *  name = "users_id", 
    *  referencedColumnName = "username", 
    *  nullable = false 
    *) 
    */ 
    private $user; 

    /** 
    * @ORM\Column(type="string") 
    */ 
    private $linkToMusic; 

... ............

/** 
* @ORM\Entity 
* @ORM\Table(name="caller_machine_voice") 
*/ 
class CallerMachineVoice { 
    /** 
    * @ORM\Column(type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\OneToOne(
    *  targetEntity = "AppBundle\Entity\User" 
    *) 
    * 
    * @ORM\JoinColumn(
    *  name = "users_id", 
    *  referencedColumnName = "username", 
    *  nullable = false 
    *) 
    */ 
    private $user; 

    /** 
    * @ORM\Column(type="string") 
    */ 
    private $linkToMusic; 

Wenn ich schaffen Form

Ich habe ein Problem, aber wenn ich Zeile ,, numberMachine '' entferne, sehe ich mein Formular. Wo ist mein Problem? Helfen Sie mir :)

AKTUALISIERUNG

wahrscheinlich mein Problem ist Entität CallerMachineVoice

Antwort

1

Versuchen Sie folgendes:

Auf CallerMachineVoice:

/** 
* @ORM\ManyToOne("User") 
* @ORM\JoinColumn(
*  name = "user_id", 
*  referencedColumnName = "id", 
*  nullable = false 
*) 
*/ 
private $user; 

definieren dann auf User-Entity __toString magische Methode:

/** 
* @return string 
*/ 
public function __toString() 
{ 
    return $this->getUsername(); 
} 
+0

Thansk Strnm :) –

Verwandte Themen