亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示表單 EntityType::class 用戶列表 - 保存 @OneToMany - 錯誤

顯示表單 EntityType::class 用戶列表 - 保存 @OneToMany - 錯誤

PHP
慕田峪7331174 2022-06-17 10:34:02
使用 Symfony 4.1,Doctrine 2.x,我有三個實體。一個訂閱可以分配多個身份(也稱為用戶帳戶)。當保存哪些身份屬于屏幕上當前可見的訂閱時(通過標準 Symfony 表單),它會失敗。身份.phpclass Identity implements UserInterface, \Serializable, InteractiveLoginUserInterface{    /**     * @var int     *     * @ORM\Column(type="integer")     * @ORM\Id     * @ORM\GeneratedValue(strategy="AUTO")     */    private $id;    /**     * @var string|null     *     * @ORM\Column(type="string", length=255, unique=true)     * @Assert\NotBlank()     * @Assert\Email()     * @Assert\Length(max="255")     */    public $username;訂閱.phpclass Subscription{    /**     * @ORM\Column(type="integer")     * @ORM\Id     * @ORM\GeneratedValue(strategy="AUTO")     */    public $id;    /**     * @var bool     * @ORM\Column(type="boolean")     */    /**     * @var Collection     * @ORM\OneToMany(targetEntity="SubscriptionIdentity", mappedBy="subscription", fetch="EAGER")     */    public $identities;SubscriptionIdentity.phpclass SubscriptionIdentity{    /**     * @var int     *     * @ORM\Column(type="integer")     * @ORM\Id     * @ORM\GeneratedValue(strategy="AUTO")     */    private $id;    /**     * @ORM\ManyToOne(targetEntity="Subscription", inversedBy="identities")     * @ORM\JoinColumn(name="subscription_id", referencedColumnName="id", nullable=false)     */    public $subscription;    /**     * @ORM\ManyToOne(targetEntity="Identity", inversedBy="subscriptions")     * @ORM\JoinColumn(name="identity_id", referencedColumnName="id", nullable=true)     */    public $identity;請幫忙!Symfony / Doctrine 文檔在這種情況下并沒有太大幫助。謝謝。
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

您收到此錯誤是因為您嘗試將類型的對象分配Identity給一個屬性,其中學說等待 un object off type SubscriptionIdentity。


您在這里描述的是多對多關系。


嘗試像這樣修改您的實體:


class Subscription

{

    /**

     * @ORM\Column(type="integer")

     * @ORM\Id

     * @ORM\GeneratedValue(strategy="AUTO")

     */

    public $id;

    /**

     * @var bool

     * @ORM\Column(type="boolean")

     */


    /**

     * @var Collection

     * @ManyToMany(targetEntity="Identity")

     * @JoinTable(name="subscription_identity",

     *      joinColumns={@JoinColumn(name="subscription_id", referencedColumnName="id")},

     *      inverseJoinColumns={@JoinColumn(name="identity_id", referencedColumnName="id")}

     *      )

     */

    public $identities;

cf:https ://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html#many-to-many-unidirectional


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號