SS4.4
我有两个类Member和activity。成员有很多活动。我有一个类MemberExtension,它扩展了Member。在MemberExtension内部,我们有一个has_many数组,其中包含“活动”。我们如何在MemberExtension中获得“活动”列表?
我们尝试了以下方法:
$ this-> activities()
错误:未捕获的错误:调用未定义的方法MemberExtension :: activities()
$ this-> getOwner()-> activity()
错误:未捕获BadMethodCallException:对象-> __ 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);