Я реализую REST API и хотел бы реализовать быстрый и простой способ создания и сохранения сущностей.
Поэтому я создал такую сущность, где $plain
является базовойассоциативный массив:
public function __construct($plain = null)
{
if ($plain != null) {
foreach ($plain as $k => $v) {
if (property_exists($this, $k))
$this->{$k} = $v;
else
throw new Exception("Property $k does not exist in " . self::class);
}
}
}
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
*/
private $parent;
Мой входной интерфейс будет выглядеть примерно так, а затем будет декодирован в массив $plain
сверху:
{
"name": "FooBar",
"parent": 1
}
При сбросе меня приветствуетСовершенно понятная ошибка Доктрины, говорящая мне, что $parent
является целым числом и не является сущностью, как ожидалось.
Я хотел бы отметить, что здесь «родитель» никогда не будет выбираться бэкэндом,когда я создаю новую сущность, все, что я хочу сделать, это написать 1
в столбце parent_id
моей базы данных.
Подводя итог, моя цель - заставить доктрину записать идентификатор в базу данных.колонка, без проверки контекста.
Есть идеи?Спасибо!