大家。
我遇到了Easy Admin的问题以及Symfony处理的一对多关系。我目前拥有的三个实体是用户,产品和类别。
当我将关系放在产品和类别上时,当我尝试在Easy Bundle的管理部分添加新类别时出现此错误:
Catchable Fatal Error: Object of class AppBundle\Entity\Product could not be converted to string
以下是我的同事在产品和类别类中看到的内容,它们基本上是直接从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的经验,您是否建议开发人员自己创建。因为我确实看到了这个Bundle的其他问题,例如能够在Products新表单上列出类别名称,因为Symfony似乎只记录category_id而不是名称。我不能按名称列出类别,只是id号码。我想列出不同的类别名称。
任何建议或帮助都会很棒。
答案 0 :(得分:2)
我也遇到了这个错误。只需向Product
实体添加__toString()魔术方法:
class Product {
...
public function __toString()
{
return $this->title; // <-- add here a real property which
} // describes your product