我有一个扩展服务于创建实体(问题)的路线,该实体具有相关条目(每个条目都有0,1或许多相关问题)。
我似乎无法获得拯救/学说的持久性方法来实际保持关系。我尝试过以下方法:
$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);
根据以下回复,但仍然无效。
这些都不起作用 - 它正确地保存了问题(内容)实体,而不是关系。不确定从哪里开始......
答案 0 :(得分:0)
这就是螺栓本身的作用:
$related = $this->em->createCollection('Bolt\Storage\Entity\Relations');
$related->setFromPost($formValues, $content);
$content->setRelation($related);
希望能回答你的问题!
答案 1 :(得分:0)
这是我的工作测试,我知道目前的语法很难看,计划是添加一些辅助方法,但这确实有效。
$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);