Php 对关系使用整数
我正在实现一个RESTAPI,我想实现一种快速而简单的方法来创建和持久化实体 因此,我创建了一个这样的实体,Php 对关系使用整数,php,symfony,doctrine,mariadb,symfony4,Php,Symfony,Doctrine,Mariadb,Symfony4,我正在实现一个RESTAPI,我想实现一种快速而简单的方法来创建和持久化实体 因此,我创建了一个这样的实体,$plain是一个基本的关联数组: 公共函数构造($plain=null) { 如果($plain!=null){ foreach($k=>v){ 如果(财产_存在($this,$k)) $this->{$k}=$v; 其他的 抛出新异常(“属性$k不存在于“.self::class”中); } } } /** *@ORM\manytone(targetEntity=“Category”,
$plain
是一个基本的关联数组:
公共函数构造($plain=null)
{
如果($plain!=null){
foreach($k=>v){
如果(财产_存在($this,$k))
$this->{$k}=$v;
其他的
抛出新异常(“属性$k不存在于“.self::class”中);
}
}
}
/**
*@ORM\manytone(targetEntity=“Category”,inversedBy=“children”)
*/
私人$parent;
我的前端输入看起来像这样,然后从上面解码到$plain
数组:
{
"name": "FooBar",
"parent": 1
}
刷新时,我遇到了一个完全可以理解的条令错误,告诉我$parent
是一个整数,而不是预期的实体
我想在这里提到,后端永远不会获取“父级”,因为我正在创建一个新实体,我只想在数据库的parent\u id
列中写入1
总而言之,我的目标是让Dority在数据库列中写入id,而不检查上下文
有什么想法吗?谢谢 当您指定“不检查上下文”时,我认为这将是非常尴尬和棘手的。ORM的全部目的是将您与数据库问题(如编写外来ID来表示关系)分离。我不确定它是否会被检查,但请看一下
getReference
——然而,由于实体本身不应该在内部包含$em,这将由一些智能存储库功能完成,我会说。。。