似乎无法扩展Member Object

时间:2014-07-10 08:34:30

标签: php silverstripe

我尝试使用文档中推荐的DataExtension扩展Member类。我设法将我的DataExtension附加到Member类,但是我无法在Member对象上访问我新定义的方法。

MemberExtension.php

<?php

/** 
* Extends the standard SilverStripe Member DataObject 
*/ 
class MemberExtension extends DataExtension { 
   private static $db = array( 
      'MemberExpires' => 'Date', 
      'Username' => 'Varchar' 
   );

   /** 
    * Returns the Member Object for the username specified 
    * 
    * @param $id int the username 
    * @returns Member|null the Member object or null if not found 
    */ 
   public static function getByUsername(string $username) { 
      return Member::get()->filter('Username', $username)->first(); 
   } 
}

我在YAML配置中添加扩展名,我执行/ dev / build,新列出现在数据库中。 当我运行Object::get_extensions('Member')时,它会正确返回一个包含MemberExtension类的数组。 但是,当我运行Member::getByUsername()时,始终无法引用Fatal error: Call to undefined method Member::getByUsername()

我这样做得对吗? 他们的任何东西我都没有抓住吗?

感谢您的时间。

0 个答案:

没有答案