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. FFmpeg変換エラー
- 4. C#変換エラー
- 5. Doctrine2変更Tablename形式
- 6. Rails JSON変換エラー
- 7. JSFページ変換エラー
- 8. vimの変換エラー
- 9. Doctrine2 [構文エラー]エラー:予想されるリテラルは、得た「 - 」
- 10. VS 2010 C++ - 変換エラー
- 11. 暗黙の変換エラーが
- 12. Javascript CRMの変換エラー
- 13. 無効な変換*エラー
- 14. DX Javaの変換エラー
- 15. ケースのSQL変換エラー文
- 16. データ変換エラーCASE文
- 17. ダブルに変換する(エラー)
- 18. androidエラー変換結果java.io.FileNotFoundException
- 19. 可変引数クラスメソッドヘッダ変換エラー
- 20. Doctrine2 ...ベストハイドレーションモード?
- 21. Doctrine2 Paginator
- 22. バックグラウンドでmp3をflvに変換する方法:変換エラー
- 23. Zend Framework - Doctrine2 - リポジトリクエリキャッシング
- 24. Doctrine2マッピングエラーに
- 25. Doctrine2反復
- 26. Doctrine2 MariaDBインテグレーション
- 27. Zend2 + Doctrine2認証
- 28. Doctrine2と継承
- 29. Doctrine2 + join条件
- 30. ARC-LLVMコンパイラ3.0に変換するエラー
は、この同じ問題を持っていました。既存のデータを持つエンティティにフィールドを追加した後に発生しました。 DoctrineはNULLを配列に変換しようとします。フィールドがNULLであることをインテリジェントに見るのではなく、単に空の配列を返さなければなりません;)既存のエントリをシリアル化された空の配列に設定すると、 +1 – Nick
解決策をありがとう@solarc - 既存のプロジェクトからユーザをインポートした後に空いていた 'roles'フィールドのUPDATE句が必要でした:http://blog.webdevilopers.net/fosuserbundle-login-error-could- doctrine-type-array/ – webDEVILopers
または、Nと同じフィールドをNULLに設定することができます。 – Broncha