douyin8809 2013-07-09 22:41
浏览 51
已采纳

在类中使用PHP Activerecord Finders

I'm trying to test if a record exists with the following code using PHP Activerecord:

class User extends ActiveRecord\Model {

    public function user_exists() {
        $user = User::find_by_email($this->email);
        if ( $user ) {
            return true;
        } else {
            return false;
        }
    }

}

$user = new User();
$user->email = "test@email.com";

if ( $user->user_exists() ) {
    echo "user exists";
} else {
    echo "no user";
}

For some reason, I'm getting a 'Call to undefined method: find_by_email' error. What am I doing wrong?

  • 写回答

1条回答 默认 最新

  • douzhi3105 2013-07-09 22:55
    关注

    Try the exists method:

    User::exists(array('email' => $this->email));
    

    Which is faster because it only checks for existence but does not fetch the data.

    Or even better; use model validations:

    http://www.phpactiverecord.org/projects/main/wiki/Validations#validates_uniqueness_of

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题