gpt4 book ai didi

php - 主键 ID 缺少值

转载 作者:行者123 更新时间:2023-11-29 10:43:43 26 4
gpt4 key购买 nike

我有一个小问题。

我收到此错误

Missing value for primary key id on AppBundle\Entity\User

这是我与数据库的关系 enter image description here

这是我的实体

 /**
* @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;

当我创建表单时

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'
));
}

我有一个问题,但是当我删除行 ,,numberMachine'' 时,我看到了我的表单。我的问题出在哪里?帮助我:)

实现

可能我的问题是实体CallerMachineVoice

最佳答案

试试这个:

在 CallerMachineVoice 上:

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

然后在用户实体上定义 __toString 魔术方法:

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

关于php - 主键 ID 缺少值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45009185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com