我有一个问题 TYPO3 Flow 更新我的关系。我错了吗,Flow 应该自动更新更改的关系,所以我不必使用相应的存储库更新相关实体?
示例 1:
我有一个模型“Project”,在属性“jobs”上有多个“Job”子项。如果我做:
$project->setJobs($collectionOfJobs);
$this->projectRepository->update($project);
那么作业不会使用新的项目 ID 正确更新。
示例 2:
我想实现模型“Project”和“Briefing”之间的双向一对一关系,结果发现 TYPO3 中有一个已知错误:
Flow 中的双向一对一关系
所以我想通过手动设置另一侧的关系来修复它:
class Briefing {
/**
* @param \Some\Package\Domain\Model\Project $project
* @return void
*/
public function setProject($project) {
$this->project = $project;
$this->project->setBriefing($this);
$this->projectRepository->update($this->project); // FIXME: Bug? Flow should do this
}
但我必须自己更新与它的存储库的关系。Flow 不应该自动执行此操作吗?
那么我真的需要自己更新每个孩子的存储库还是应该让 Flow 为我这样做?
环境:
- TYPO3 FLOW 2.3.3(最新稳定版)
- Doctrine 2.3.6
- PHP 5.4.39-0+deb7u2