我有一对多的关系,这是货币,费率很多。因此,我从手册中读到时定义了它们:
/**
* @ORMTable(name="currency")
* @ORMEntity
*/
class Currency{}
/**
* @ORMTable(name="rate")
* @ORMEntity
*/
class Rate
{
/**
* @ORMColumn(name="currency_id", type="integer")
* @ORMManyToOne(targetEntity="Currency", inversedBy="rate")
* @ORMJoinColumn(name="currency_id", referencedColumnName="id")
*/
private $currency;
/**
* @param Currency $currency
* @return Rate
*/
public function setCurrency(Currency $currency) : Rate
{
$this->currency = $currency;
return $this;
}
/**
* @return Currency
*/
public function getCurrency() : Currency
{
return $this->currency;
}
}
但看来我不能仅仅将货币模型分配给属性 $ this-> crurnern ,因为学说认为它是像int这样的原始性,而只是将{}插入查询中。
Object of class AppBundleEntityCurrency could not be converted to string
如果我将字段更改为 Currency_ID 并从Getter返回INT - 这很好,但是在这种情况下,我该怎么办(我是指 $ rate-> $ rate-> getCurrency(( ->某物(?当然,我可以实施货币:: __ tostring,但看起来很糟糕。
删除@ORMColumn
注释:
* @ORMColumn(name="currency_id", type="integer")
学说将弄清楚在referencedColumnName
中声明的CC_2上的该列的类型。