I have a little problem.
I am getting this error
Missing value for primary key id on AppBundle\\Entity\\User
This is my realtion with database
And This is my entities
/**
* @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;
When I create form
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('numbermachine', EntityType::class, [
'class' => 'AppBundle\Entity\CallerMachineVoice',
'choice_label' => 'user'
])
->add('buttonnumber', IntegerType::class, [
'label' => 'Podaj numer przycisku'
])
->add('linktomusic', TextType::class,[
'label' => 'Podaj link do muzyki'
])
->add('telephonenumber', IntegerType::class, [
'label' => 'Podaj numer przycisku'
])
->add('acceptregulations', IntegerType::class, [
'label' => 'Podaj numer przycisku'
])
->add('submit', \Symfony\Component\Form\Extension\Core\Type\SubmitType::class, array(
'label' => 'Zapisz'
));
}
I have a problem, but When I remove line ,,numberMachine'' I see my form. Where is my problem ? Help me :)
ACTUALISATION
PRobably my problem is entity CallerMachineVoice
Try this:
On CallerMachineVoice:
/**
* @ORM\ManyToOne("User")
* @ORM\JoinColumn(
* name = "user_id",
* referencedColumnName = "id",
* nullable = false
* )
*/
private $user;
Then define on User Entity __toString magic method:
/**
* @return string
*/
public function __toString()
{
return $this->getUsername();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.