2017-05-12 12 views
0

みんな。EasyAdminとSymfonyの関係に1対多の問題

私はEasy AdminとSymfonyが扱う一対多の関係に問題がありました。私が現在持っている3つのエンティティはUser、Products、Categoryです。私はプロダクトとカテゴリの関係を置くと

は、私は簡単にバンドルの管理セクションに新しいカテゴリーを追加しようとすると、このエラーが表示されます。ここでは

Catchable Fatal Error: Object of class AppBundle\Entity\Product could not be converted to string 

私の仲間は、int型のように見えるものですProductクラスとCategoryクラスは、基本的にはSymfonyのドキュメントからまっすぐにコピーされています。

製品カテゴリ

/** 
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products") 
* @ORM\JoinColumn(name="category_id", referencedColumnName="id") 
*/ 
private $category; 

そして、ここでは、カテゴリーの最後の協会である:

... 
use Doctrine\Common\Collections\ArrayCollection; 

/** 
* @ORM\OneToMany(targetEntity="Product", mappedBy="category") 
*/ 
private $products; 

public function __construct() 
{ 
    $this->products = new ArrayCollection(); 
} 

私が起こっていると考えている主な問題はありませんカテゴリフィールドがで自分ではないということですこれは、クラスプロパティに依存しているようだから、Easy Bundleを混乱させてしまいます。

誰かがこれを修正する方法についての提案をすることができれば、それは素晴らしいことです。または、この問題を抱えている可能性のあるバター管理バンドルを知っている場合は、それも素晴らしいでしょう。

また、Easy Admin Bundleで何か経験がある場合は、開発者だけが自分で作成することをお勧めしますか? Symfonyはcategory_idのみをログに記録し、名前は記録しないように見えるので、このバンドルの他の問題を見ることができます。名前だけではなく、ID番号を使ってカテゴリを一覧表示することはできません。そして、私は異なるカテゴリ名のリストをしたいと思います。

これに関するご意見やご協力は素晴らしいと思います。

答えて

2

このエラーも発生しました。 Productエンティティに__toString()のマジックメソッドを追加するだけです。

class Product { 
    ... 

    public function __toString() 
    { 
     return $this->title; // <-- add here a real property which 
    }      //  describes your product