我有一些不同的域模型,每个域模型都是不同子模型的父模型。所有这些域模型都扩展到基本模型类之外,我想在基础模型中编写一个通用函数,它处理当前模型的子类。因此,我需要找到一种方法,动态获取给定域模型的所有子模型类。这可以以某种方式完成吗?也许通过对象存储定义或类似的?!
更新:如评论部分所述,mny问题与TYPO3无关,这是一个普通的php问题。我的问题的解决方案是反射类。
我想你的问题与TYPO3无关,所以看看这个一般的PHP问题线程和可能的解决方案here。
你在谈论数据库关系。是的,这可以在TYPO3中完成。
每个model
应该映射到table
。所以,让我们以Category
域模型和parent
属性为例
class Category extends AbstractEntity
{
/**
* @var \TYPO3\CMS\Extbase\Domain\Model\Category
*/
protected $parent = null;
/**
* @return \TYPO3\CMS\Extbase\Domain\Model\Category
*/
public function getParent()
{
if ($this->parent instanceof \TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy) {
$this->parent->_loadRealInstance();
}
return $this->parent;
}
/**
* @param \TYPO3\CMS\Extbase\Domain\Model\Category $parent
*/
public function setParent(\TYPO3\CMS\Extbase\Domain\Model\Category $parent)
{
$this->parent = $parent;
}
parent属性将返回父类别。同样的逻辑是当你想要得到孩子。