0

我在 CakePHP 3.6 应用程序中有一个表对象用户,它有一个 beforeFind 回调,如下所示:

public function beforeFind(Event $event, Query $query, $options = []) {
    $query->where(['Users.active']);

    return $query;
}

正如您在上面看到的,这里的目的是仅获取所有查找查询的活动用户。我遇到的问题是,对于新注册的用户(直到他们确认注册后才处于活动状态),用户表上的查找查询将不起作用,因为它不会返回非活动用户。

当人们验证他们的注册时,我会在 url 中向他们发送一个代码。我想验证请求以查看代码参数是否存在,然后我不必只检查活动用户,如下所示:

public function beforeFind(Event $event, Query $query, $options = []) {
    if(code parameter does not exist) {
        $query->where(['Users.active']);
    }

    return $query;
}

但我不知道如何在我的 UsersTable 对象的 beforeFind 中获取请求参数。

请问有什么帮助吗?

4

0 回答 0