处理与Doctrine/Bolt的内容类型关系EM
问题描述:
我有一个扩展服务于创建实体(问题)的路径,该实体有一个相关条目(每个条目有0,1个或多个相关问题)。处理与Doctrine/Bolt的内容类型关系EM
我似乎无法获得bolt的save/doctrine的持久化方法来实际上保持关系。我已经试过如下:
$question = $repo->create([
'question' => $request->get('question', 'What is love?'),
'status' => 'draft',
'entries' => [$entry]
]);
$question->relation->add($entry)
$question->setRelation(new Collection\Relations([$entry], $em))
(编辑)我也试过
$entry = $em->find('entries', $request->get('entry', 1));
$related = $em->createCollection('Bolt\Storage\Entity\Relations');
$related->add(new Relations([
'from_contenttype' => $question->getContenttype(),
'from_id' => $question->getId(),
'to_contenttype' => $entry->getContenttype(),
'to_id' => $entry->getId()
]));
$question->setRelation($relation);
每下方的响应,但仍然不工作。
没有哪个工作 - 它正确保存问题(内容)实体,但不保存关系。真的不知道在哪里可以从这里去...
答
这是螺栓本身是怎么做的:
$related = $this->em->createCollection('Bolt\Storage\Entity\Relations');
$related->setFromPost($formValues, $content);
$content->setRelation($related);
希望这回答您的问题!
答
这里有一个我正在进行的测试,我知道目前的语法很丑,计划是添加更多的辅助方法,但这确实有效。
$repo = $app['storage']->getRepository('pages');
$newPage = $repo->create(
[
"title" => 'An Example Title',
"slug" => 'an-example-title',
"status" => 'published',
"teaser" => 'An intro teaser goes here',
"body" => 'Lorem ipsum dolor sit amet, consectet adipisici.',
]
);
$newPage->getRelation()->setFromPost(['entries' => [1]], $newPage);
$repo->save($newPage);
no dice - see my post –