在我的AcosTable.php中我有
$this->hasMany('ChildAcos', [
'alias' => 'ChildAcos',
'className' => 'Acos',
'foreignKey' => 'parent_id'
]);
我需要appController中的表名(className属性)。在我的appController中我有
$associations = $this->{$this->modelClass}->associations();
foreach ($associations->type('HasMany') as $item) {
$options['name'] = $item->name(); //ChildAcos
$options['foreignKey'] = $item->foreignKey(); //parent_id
//$options['className'] = $item->?(); //Acos
$hasMany[] = $options;
}
如何检索className?
答案 0 :(得分:0)
与所有其他关联选项相反,似乎无法掌握Association::$_className
的价值,您可能希望在GitHub报告这一点,我认为它不会伤害使这个也可以访问(至少可读)。
现在似乎所有你能做的就是从目标表中获取完整的类名,例如:
$fqn = get_class($item->target());
$parts = namespaceSplit($fqn);
$className = substr(end($parts), 0, -5);