学说多对一映射问题

时间:2013-03-19 10:49:14

标签: php symfony doctrine

我在我的"创建产品"中收到以下错误尝试创建外键映射(即将Category映射到Product)时的页面:

  

A" __ toString()"在类型的对象上找不到方法   " CJ \ BusinessBundle \实体\类别"传递到选择字段。至   改为阅读自定义getter,设置选项" property"到期望的   财产路径。

2 个答案:

答案 0 :(得分:29)

您需要向Category实体添加__toString()方法。例如:

public function __toString()
{
    return $this->name;
}

PHP魔术方法__toString()用于呈现对象的文本表示。在这种情况下,在相关实体的表单中选择类别时将使用类别名称。

答案 1 :(得分:7)

错误消息告诉您需要执行的操作。在您的Category实体中,您需要添加__toString()方法,以便在添加产品时,它知道在表单的选择框中为每个项目命名的内容。

public function __toString()
{
    return $this->name;
}

在上面的'name'替换为任何字段是您的类别的可读标识符。