外部キー マッピング (つまり、カテゴリを製品にマッピング) を作成しようとすると、[製品の作成] ページに次のエラーが表示されます。
選択フィールドに渡されたタイプ「CJ\BusinessBundle\Entity\Category」のオブジェクトで「__toString()」メソッドが見つかりませんでした。代わりにカスタム ゲッターを読み取るには、オプション "property" を目的のプロパティ パスに設定します。
__toString()
Category エンティティにメソッドを追加する必要があります。例えば:
public function __toString()
{
return $this->name;
}
PHP のマジック メソッド__toString()
を使用して、オブジェクトのテキスト表現を表示します。この場合、関連エンティティのフォームでカテゴリを選択するときに、カテゴリ名が使用されます。
エラーメッセージは、何をする必要があるかを示しています。カテゴリエンティティに__toString()メソッドを追加する必要があります。これにより、商品を追加するときに、フォームの選択ボックスで各アイテムに名前を付けることができます。
public function __toString()
{
return $this->name;
}
上記で、「name」をカテゴリの読み取り可能な識別子であるフィールドに置き換えます。