最新の公式 PDF マニュアル (en Edition) に従って、製品の追加、参照、更新、削除のデモを作成しました。製品には多対 1 のカテゴリ属性があります。前回のテストでは問題ありませんでした。
src/Acme/StoreBundle/Entity/Product.php
src/Acme/StoreBundle/Entity/Category.php
リーリー次に、フォームの章に従って、商品を追加するためのページを、商品を送信して追加するためのフォームに変換しました。
リーリーこの時点で、すべてのリンクは正常に動作し、データベースも正常にデータを作成できます。次に、「フォーム クラスの作成」を見たので、コマンド ラインに付属する doctrine:generate:form を使用して Form クラスを作成しました。 リーリー
src/Acme/StoreBundle/Form/ProductType.phpリーリー
次に、マニュアルに従ってコントローラーのコードを変更しました。リーリー
しかし、キャッシュをクリアした後、symfony2 500 エラーがアクセスアドレスに表示されました。ログのエラーメッセージは次のとおりです。 リーリーエコー出力コンテンツをデバッグすると、変更された文「$form = $this->createForm(new ProductType(), $product);」に配置されます
迷茫2017-05-16 16:48:23
このエラーの意味は、Symfony がドロップダウン メニュー (<select>) を生成するときに、オプション (<option>) のテキスト コンテンツとして何を使用すべきかを認識していないことです。その解決策はすでに提供されています。エラーメッセージで次のようにしたいとします。 表示されるテキストは categoryName:
です。(1) Entity クラスに「__toString()」メソッドを追加します。 リーリー
(2) エンティティ内のフィールドをオプション テキストとして指定します:リーリー