ホームページ  >  に質問  >  本文

Doctrine Manager は、私の側で何も変更せずにユーザーエンティティを更新しようとします

コントローラー メソッドがあり、User エンティティとの関係を持つエンティティ Order の挿入メソッドを作成しています。1 人のユーザーが複数の注文を持つことができます。オーダーを作成してユーザーをそれに設定します。変更しないと Doctrine がユーザーを更新しようとします。何が間違っているのか疑問に思っています。 私のコントローラーの方法

リーリー

私のユーザーエンティティ

リーリー

と私の注文エンティティ

リーリー

そこで、注文を保存しようとしました。その後、上で保存した注文である注文 ID を使用して注文項目を保存しますが、失敗して制約エラーが発生します。 クエリの実行中に例外が発生しました: SQLSTATE[ 23000]: 整合性制約違反: 1048 列「ロール」を空にすることはできません デバッグ後、ここのドクトリンがユーザーを更新しようとしていることがわかりましたが、ユーザーに何も変更を加えていないのに、なぜ更新する必要があるのでしょうか?

P粉308783585P粉308783585222日前475

全員に返信(1)返信します

  • P粉546138344

    P粉5461383442024-04-04 11:12:20

    さて、答えを見つけた後、この質問に答えるのを忘れていました。User エンティティに見られるように、Erase Credentials メソッドがあります

    リーリー

    誤解がありました。API リクエストでユーザーを返す前にこのメソッドを呼び出していましたが、更新前にも呼び出されているので注意してください

    返事
    0
  • キャンセル返事