首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EasyAdmin和Symfony一对多关系的问题

EasyAdmin和Symfony一对多关系的问题
EN

Stack Overflow用户
提问于 2017-05-13 01:00:55
回答 1查看 1.3K关注 0票数 0

所有人。

我遇到了简单管理和Symfony处理的一对多关系的问题。我目前有三个实体: User、Products和Category。

当我将关系放在Product和Category上时,当我试图在Easy Bundle的管理部分添加一个新的Category时,我得到了这个错误:

代码语言:javascript
运行
复制
Catchable Fatal Error: Object of class AppBundle\Entity\Product could not be converted to string

这是我的同事在Product和Category类中的样子,他们基本上是直接从Symfony文档中复制出来的。

产品类别

代码语言:javascript
运行
复制
/**
 * @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
 * @ORM\JoinColumn(name="category_id", referencedColumnName="id")
 */
private $category;

下面是Category end上的关联:

代码语言:javascript
运行
复制
...
use Doctrine\Common\Collections\ArrayCollection;

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

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

我认为正在发生的主要问题是,他们在products表中没有类别字段,这让Easy Bundle感到困惑,因为它似乎依赖于类属性。

如果有人能就如何解决这个问题提出建议,那就太好了。或者,如果你知道有一个黄油管理捆绑包可能有这个问题,那也是很好的。

另外,如果你有任何使用简单管理包的经验,你是否建议开发人员只做他们自己的。因为我确实看到了这个捆绑包的其他问题,比如能够在Products新表单上列出类别名称,因为Symfony似乎只记录category_id,而不记录名称。我不能按名称列出类别,只能按id编号列出。我想列出不同的类别名称。

任何关于这方面的建议或帮助都是很棒的。

EN

回答 1

Stack Overflow用户

发布于 2017-05-15 07:09:44

我也得到了这个错误。只需向您的Product实体添加一个__toString()魔术方法:

代码语言:javascript
运行
复制
class Product {
    ...

    public function __toString()
    {
        return $this->title; // <-- add here a real property which
    }                        //     describes your product
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43942982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档