学说多对一映射问题


Doctrine Many To One Mapping Issue

当尝试创建外键映射(即映射类别到产品)时,我在"创建产品"页面中得到以下错误:

在类型的对象上找不到"__toString()"方法"CJ'BusinessBundle'Entity'Category"传递给选择字段。来读取自定义getter,将选项"property"设置为所需的值属性路径。

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

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

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

错误消息告诉您需要做什么。在你的类别实体中,你需要添加一个__toString()方法,以便当你添加一个产品时,它知道在表单的选择框中每个项目的名称。

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

在上面,将'name'替换为类别的可读标识符。