30
A
答えて
69
に「」データベースの値を変換できませんでしたあなたは、おそらくあなたのエンティティで配列を入力するタイプ文字列からフィールドを変更しますが、すでにデータのデータベースを持っています。空の文字列をデータベースから配列に変換しようとして失敗しています。
開発データベースの場合は、それを削除して再度作成するか、問題のある行を削除するだけです。または、すべての空の文字列をa:0:{}
(シリアル化された空の配列)に変換できます。
UPDATE table SET column="a:0:{}" WHERE column = "";
-3
dbテーブルの列型(例:longtext)は、Doctrineの列型と一致できません。 列タイプを変更します。
8
プロダクションデータベースで誰もがSQLを実行しない方がいいです。
@ORM\Column(type="array", nullable=TRUE)
簡単に溶液中では、列のNULL可能を作るので、あなたの実行した後に、「コンソール教義:スキーマを:--force更新」既存のDBエントリは、代わりに空の文字列で、NULL値を取得します。そして、doctrineは、データベース値NULLをDoctrine Type配列に変換する処理を行うことができます。それはちょうどNULL配列リファレンスでなければなりません。 PHPのempty()は、サイズが0の配列かNULLかどうかは気にしません。 MySQLでは
、私は、次のSQLダンプを取得:
ALTER TABLE my_table ADD my_new_column LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)'
関連する問題
- 1. Doctrine2 findByリレーションシップオブジェクトは文字列変換エラーを引き起こします
- 2. 複雑なMySQLクエリをDoctrine2に変換する方法
- 3. Doctrine2変更Tablename形式
- 4. Doctrine2
- 5. ブーストグラフ変換エラー
- 6. 変換がエラー
- 7. FFmpeg変換エラー
- 8. C#変換エラー
- 9. タイプ変換のエラー
- 10. JSFページ変換エラー
- 11. Pysparkストリーミング変換エラー
- 12. データ型変換エラー
- 13. SSL:HTTP HTTPS変換エラー
- 14. 数値変換エラー
- 15. vimの変換エラー
- 16. Rails JSON変換エラー
- 17. Pentahoスプーン変換 - エラー
- 18. データ型変換エラー
- 19. Doctrine2 ...ベストハイドレーションモード?
- 20. Doctrine2 Paginator
- 21. Doctrine2 FETCH_CLASS
- 22. Doctrine2 [構文エラー]エラー:予想されるリテラルは、得た「 - 」
- 23. Doctrine2マッピング列挙
- 24. Doctrine2反復
- 25. Doctrine2 + join条件
- 26. Zend2 + Doctrine2認証
- 27. Doctrine2 MariaDBインテグレーション
- 28. Doctrine2マッピングエラーに
- 29. Zend Framework - Doctrine2 - リポジトリクエリキャッシング
- 30. Doctrine2カスケードデフォルト値
は、この同じ問題を持っていました。既存のデータを持つエンティティにフィールドを追加した後に発生しました。 DoctrineはNULLを配列に変換しようとします。フィールドがNULLであることをインテリジェントに見るのではなく、単に空の配列を返さなければなりません;)既存のエントリをシリアル化された空の配列に設定すると、 +1 – Nick
解決策をありがとう@solarc - 既存のプロジェクトからユーザをインポートした後に空いていた 'roles'フィールドのUPDATE句が必要でした:http://blog.webdevilopers.net/fosuserbundle-login-error-could- doctrine-type-array/ – webDEVILopers
または、Nと同じフィールドをNULLに設定することができます。 – Broncha