【发布时间】:2020-01-06 20:34:57
【问题描述】:
SS4.4
我有两个类成员和活动。一个成员有很多活动。我有一个扩展成员的类成员扩展。在 MemberExtension 中,我们有一个包含“活动”的 has_many 数组。我们如何获取 MemberExtension 中的活动列表?
我们尝试了以下方法:
$this->Activity()
错误:未捕获的错误:调用未定义的方法 MemberExtension::Activities()
$this->getOwner()->Activity()
错误:未捕获的 BadMethodCallException:Object->__call():“SilverStripe\Security\Member”上不存在方法“Activities”
我们还运行了 dev/build?flush
// MemberExtension class
class MemberExtension extends DataExtension {
public static $has_many = [
'Activities' => Activity::class
];
}
// Activity class
class Activity extends DataObject {
private static $has_one = [
'Member' => Member::class,
];
}
// Register MemberExtension in _config.php
Member::add_extension(MemberExtension::class);
【问题讨论】:
标签: silverstripe silverstripe-4